@undefineds.co/linx 0.2.2 → 0.2.11

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 (49) hide show
  1. package/dist/index.js +225 -51
  2. package/dist/index.js.map +1 -1
  3. package/dist/lib/ai-command.js +2 -2
  4. package/dist/lib/ai-command.js.map +1 -1
  5. package/dist/lib/chat-api.js +146 -15
  6. package/dist/lib/chat-api.js.map +1 -1
  7. package/dist/lib/credentials-store.js +6 -0
  8. package/dist/lib/credentials-store.js.map +1 -1
  9. package/dist/lib/default-model.js +1 -0
  10. package/dist/lib/default-model.js.map +1 -1
  11. package/dist/lib/login-command.js +16 -1
  12. package/dist/lib/login-command.js.map +1 -1
  13. package/dist/lib/models.js +2 -2
  14. package/dist/lib/models.js.map +1 -1
  15. package/dist/lib/node-warning-filter.js +34 -0
  16. package/dist/lib/node-warning-filter.js.map +1 -0
  17. package/dist/lib/oidc-auth.js +78 -13
  18. package/dist/lib/oidc-auth.js.map +1 -1
  19. package/dist/lib/pi-adapter/auth.js +12 -5
  20. package/dist/lib/pi-adapter/auth.js.map +1 -1
  21. package/dist/lib/pi-adapter/branding.js +597 -17
  22. package/dist/lib/pi-adapter/branding.js.map +1 -1
  23. package/dist/lib/pi-adapter/interactive.js +117 -4
  24. package/dist/lib/pi-adapter/interactive.js.map +1 -1
  25. package/dist/lib/pi-adapter/pod-approval.js +121 -0
  26. package/dist/lib/pi-adapter/pod-approval.js.map +1 -0
  27. package/dist/lib/pi-adapter/pod-mirror-mapping.js +189 -0
  28. package/dist/lib/pi-adapter/pod-mirror-mapping.js.map +1 -0
  29. package/dist/lib/pi-adapter/pod-mirror.js +390 -0
  30. package/dist/lib/pi-adapter/pod-mirror.js.map +1 -0
  31. package/dist/lib/pi-adapter/pod-native.js +422 -0
  32. package/dist/lib/pi-adapter/pod-native.js.map +1 -0
  33. package/dist/lib/pi-adapter/runtime.js +116 -21
  34. package/dist/lib/pi-adapter/runtime.js.map +1 -1
  35. package/dist/lib/pi-adapter/session.js +613 -0
  36. package/dist/lib/pi-adapter/session.js.map +1 -0
  37. package/dist/lib/pi-adapter/stream.js +74 -1
  38. package/dist/lib/pi-adapter/stream.js.map +1 -1
  39. package/dist/lib/profile-identity.js +5 -5
  40. package/dist/lib/profile-identity.js.map +1 -1
  41. package/dist/lib/watch/pod-ai.js +2 -1
  42. package/dist/lib/watch/pod-ai.js.map +1 -1
  43. package/dist/lib/watch/pod-approval.js +336 -84
  44. package/dist/lib/watch/pod-approval.js.map +1 -1
  45. package/dist/lib/watch/pod-persistence.js +2 -1
  46. package/dist/lib/watch/pod-persistence.js.map +1 -1
  47. package/package.json +3 -7
  48. package/dist/generated/version.js +0 -3
  49. package/dist/generated/version.js.map +0 -1
@@ -0,0 +1,422 @@
1
+ import { Parser, Writer } from 'n3';
2
+ export const RDF_TYPE = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type';
3
+ export const XSD_DATE_TIME = 'http://www.w3.org/2001/XMLSchema#dateTime';
4
+ export const DCT_CREATED = 'http://purl.org/dc/terms/created';
5
+ export const DCT_MODIFIED = 'http://purl.org/dc/terms/modified';
6
+ export const DCT_TITLE = 'http://purl.org/dc/terms/title';
7
+ export const FOAF_MAKER = 'http://xmlns.com/foaf/0.1/maker';
8
+ export const SIOC_CONTENT = 'http://rdfs.org/sioc/ns#content';
9
+ export const SIOC_RICH_CONTENT = 'http://rdfs.org/sioc/ns#richContent';
10
+ export const SIOC_HAS_MEMBER = 'http://rdfs.org/sioc/ns#has_member';
11
+ export const MEETING_LONG_CHAT = 'http://www.w3.org/ns/pim/meeting#LongChat';
12
+ export const MEETING_MESSAGE = 'http://www.w3.org/ns/pim/meeting#Message';
13
+ export const SIOC_THREAD = 'http://rdfs.org/sioc/ns#Thread';
14
+ export const WF_MESSAGE = 'http://www.w3.org/2005/01/wf/flow-1.0#message';
15
+ export const UDFS_AGENT = 'https://undefineds.co/ns#Agent';
16
+ export const UDFS_AUDIT_ENTRY = 'https://undefineds.co/ns#AuditEntry';
17
+ export const UDFS_APPROVAL_REQUEST = 'https://undefineds.co/ns#ApprovalRequest';
18
+ export const UDFS_AUTONOMY_GRANT = 'https://undefineds.co/ns#AutonomyGrant';
19
+ export const UDFS_SESSION = 'https://undefineds.co/ns#Session';
20
+ export const UDFS_ACTION = 'https://undefineds.co/ns#action';
21
+ export const UDFS_ACTOR = 'https://undefineds.co/ns#actor';
22
+ export const UDFS_ACTOR_ROLE = 'https://undefineds.co/ns#actorRole';
23
+ export const UDFS_CHAT_TYPE = 'https://undefineds.co/ns#chatType';
24
+ export const UDFS_CONTEXT = 'https://undefineds.co/ns#context';
25
+ export const UDFS_CONVERSATION = 'https://undefineds.co/ns#conversation';
26
+ export const UDFS_CONVERSATION_TITLE = 'https://undefineds.co/ns#conversationTitle';
27
+ export const UDFS_CONVERSATION_TYPE = 'https://undefineds.co/ns#conversationType';
28
+ export const UDFS_HAS_THREAD = 'https://undefineds.co/ns#hasThread';
29
+ export const UDFS_IN_THREAD = 'https://undefineds.co/ns#inThread';
30
+ export const UDFS_LAST_ACTIVE_AT = 'https://undefineds.co/ns#lastActiveAt';
31
+ export const UDFS_MESSAGE_STATUS = 'https://undefineds.co/ns#messageStatus';
32
+ export const UDFS_MESSAGE_TYPE = 'https://undefineds.co/ns#messageType';
33
+ export const UDFS_METADATA = 'https://undefineds.co/ns#metadata';
34
+ export const UDFS_MODEL = 'https://undefineds.co/ns#model';
35
+ export const UDFS_ON_BEHALF_OF = 'https://undefineds.co/ns#onBehalfOf';
36
+ export const UDFS_ASSIGNED_TO = 'https://undefineds.co/ns#assignedTo';
37
+ export const UDFS_DECISION_BY = 'https://undefineds.co/ns#decisionBy';
38
+ export const UDFS_DECISION_ROLE = 'https://undefineds.co/ns#decisionRole';
39
+ export const UDFS_EFFECT = 'https://undefineds.co/ns#effect';
40
+ export const UDFS_POLICY_VERSION = 'https://undefineds.co/ns#policyVersion';
41
+ export const UDFS_PROVIDER = 'https://undefineds.co/ns#provider';
42
+ export const UDFS_REASON = 'https://undefineds.co/ns#reason';
43
+ export const UDFS_RESOLVED_AT = 'https://undefineds.co/ns#resolvedAt';
44
+ export const UDFS_REVOKED_AT = 'https://undefineds.co/ns#revokedAt';
45
+ export const UDFS_RISK = 'https://undefineds.co/ns#risk';
46
+ export const UDFS_RISK_CEILING = 'https://undefineds.co/ns#riskCeiling';
47
+ export const UDFS_SESSION_STATUS = 'https://undefineds.co/ns#sessionStatus';
48
+ export const UDFS_SESSION_TOOL = 'https://undefineds.co/ns#sessionTool';
49
+ export const UDFS_STATUS = 'https://undefineds.co/ns#status';
50
+ export const UDFS_TOKEN_USAGE = 'https://undefineds.co/ns#tokenUsage';
51
+ export const UDFS_TOOL_CALL_ID = 'https://undefineds.co/ns#toolCallId';
52
+ export const UDFS_TOOL_NAME = 'https://undefineds.co/ns#toolName';
53
+ export const UDFS_WORKSPACE = 'https://undefineds.co/ns#workspace';
54
+ export const ODRL_ACTION = 'http://www.w3.org/ns/odrl/2/action';
55
+ export const ODRL_POLICY = 'http://www.w3.org/ns/odrl/2/Policy';
56
+ export const ODRL_TARGET = 'http://www.w3.org/ns/odrl/2/target';
57
+ export const AS_ANNOUNCE = 'https://www.w3.org/ns/activitystreams#Announce';
58
+ export const AS_ACTOR = 'https://www.w3.org/ns/activitystreams#actor';
59
+ export const AS_OBJECT = 'https://www.w3.org/ns/activitystreams#object';
60
+ const MANAGED_BEGIN = '# linx-managed-subject:';
61
+ const MANAGED_END = '# /linx-managed-subject';
62
+ export function podBaseUrlFromWebId(webId) {
63
+ return webId.replace('/profile/card#me', '').replace(/\/$/, '');
64
+ }
65
+ export function buildSessionResourceUrl(webId, sessionId) {
66
+ return `${podBaseUrlFromWebId(webId)}/.data/session/${encodeURIComponent(sessionId)}.ttl`;
67
+ }
68
+ export function buildAuditResourceUrl(webId, auditId) {
69
+ return `${podBaseUrlFromWebId(webId)}/.data/audit/${encodeURIComponent(auditId)}.ttl`;
70
+ }
71
+ export function buildApprovalResourceUrl(webId, approvalId) {
72
+ return `${podBaseUrlFromWebId(webId)}/.data/approvals/${encodeURIComponent(approvalId)}.ttl`;
73
+ }
74
+ export function buildGrantResourceUrl(webIdOrUri, grantId) {
75
+ return `${podBaseUrlFromWebIdOrUri(webIdOrUri)}/settings/autonomy/grants/${encodeURIComponent(grantId)}.ttl`;
76
+ }
77
+ export function buildInboxResourceUrl(webIdOrUri, notificationId) {
78
+ return `${podBaseUrlFromWebIdOrUri(webIdOrUri)}/inbox/${encodeURIComponent(notificationId)}.ttl`;
79
+ }
80
+ export function buildAgentResourceUrl(webId, agentId) {
81
+ return `${podBaseUrlFromWebId(webId)}/.data/agents/${encodeURIComponent(agentId)}.ttl`;
82
+ }
83
+ export function buildChatIndexResourceUrl(webId, chatId) {
84
+ return `${podBaseUrlFromWebId(webId)}/.data/chat/${encodeURIComponent(chatId)}/index.ttl`;
85
+ }
86
+ export function buildMessageResourceUrl(webId, chatId, createdAt) {
87
+ const yyyy = String(createdAt.getUTCFullYear());
88
+ const mm = String(createdAt.getUTCMonth() + 1).padStart(2, '0');
89
+ const dd = String(createdAt.getUTCDate()).padStart(2, '0');
90
+ return `${podBaseUrlFromWebId(webId)}/.data/chat/${encodeURIComponent(chatId)}/${yyyy}/${mm}/${dd}/messages.ttl`;
91
+ }
92
+ export function buildMessageSubjectUrl(resourceUrl, messageId) {
93
+ return `${resourceUrl}#${encodeURIComponent(messageId)}`;
94
+ }
95
+ export function iri(value) {
96
+ return { type: 'iri', value };
97
+ }
98
+ export function literal(value, datatype) {
99
+ return { type: 'literal', value, datatype };
100
+ }
101
+ export function dateLiteral(value) {
102
+ return literal(value.toISOString(), XSD_DATE_TIME);
103
+ }
104
+ export function integerLiteral(value) {
105
+ return { type: 'integer', value: Number.isFinite(value) ? Math.trunc(value) : 0 };
106
+ }
107
+ export async function readTurtleResource(fetcher, url) {
108
+ const response = await fetcher(url, {
109
+ method: 'GET',
110
+ headers: { Accept: 'text/turtle, application/n-triples;q=0.9, */*;q=0.1' },
111
+ });
112
+ if (response.status === 404) {
113
+ return null;
114
+ }
115
+ if (!response.ok) {
116
+ throw new Error(`Failed to read Pod resource ${url}: ${response.status} ${response.statusText}`);
117
+ }
118
+ return response.text();
119
+ }
120
+ export async function putTurtleResource(fetcher, url, turtle) {
121
+ await ensureResourceContainers(fetcher, url);
122
+ const response = await fetcher(url, {
123
+ method: 'PUT',
124
+ headers: { 'Content-Type': 'text/turtle; charset=utf-8' },
125
+ body: turtle.endsWith('\n') ? turtle : `${turtle}\n`,
126
+ });
127
+ if (!response.ok) {
128
+ throw new Error(`Failed to write Pod resource ${url}: ${response.status} ${response.statusText}`);
129
+ }
130
+ }
131
+ export async function upsertManagedTurtleBlock(fetcher, url, block) {
132
+ await ensureResourceContainers(fetcher, url);
133
+ const existing = await readTurtleResource(fetcher, url).catch((error) => {
134
+ if (isNotFoundError(error)) {
135
+ return null;
136
+ }
137
+ throw error;
138
+ });
139
+ const turtle = mergeManagedBlock(existing ?? '', block);
140
+ await putTurtleResource(fetcher, url, turtle);
141
+ }
142
+ export async function deleteManagedTurtleSubject(fetcher, url, subject) {
143
+ const existing = await readTurtleResource(fetcher, url).catch((error) => {
144
+ if (isNotFoundError(error)) {
145
+ return null;
146
+ }
147
+ throw error;
148
+ });
149
+ if (!existing) {
150
+ return;
151
+ }
152
+ const encoded = encodeURIComponent(subject);
153
+ const pattern = new RegExp(`${escapeRegExp(MANAGED_BEGIN)} ${escapeRegExp(encoded)}\\n[\\s\\S]*?${escapeRegExp(MANAGED_END)}\\n?`, 'g');
154
+ const withoutManagedBlock = existing.replace(pattern, '').trim();
155
+ const withoutSubject = removeStandardTriplesForSubject(withoutManagedBlock, subject).trim();
156
+ await putTurtleResource(fetcher, url, withoutSubject ? `${withoutSubject}\n` : '');
157
+ }
158
+ export function mergeManagedBlock(existing, block) {
159
+ const encoded = encodeURIComponent(block.subject);
160
+ const blockText = renderManagedBlock(block);
161
+ const pattern = new RegExp(`${escapeRegExp(MANAGED_BEGIN)} ${escapeRegExp(encoded)}\\n[\\s\\S]*?${escapeRegExp(MANAGED_END)}\\n?`, 'g');
162
+ const withoutPreviousManagedBlock = existing.replace(pattern, '').trim();
163
+ const withoutPrevious = removeStandardTriplesForSubject(withoutPreviousManagedBlock, block.subject).trim();
164
+ return [withoutPrevious, blockText].filter(Boolean).join('\n\n');
165
+ }
166
+ export function renderManagedBlock(block) {
167
+ const encoded = encodeURIComponent(block.subject);
168
+ const lines = [`${MANAGED_BEGIN} ${encoded}`];
169
+ const predicates = [
170
+ ...block.triples,
171
+ ...(block.extraStatements ?? []).map((statement) => ({ statement })),
172
+ ];
173
+ const tripleLines = block.triples.map((triple, index) => {
174
+ const suffix = index === block.triples.length - 1 && !block.extraStatements?.length ? ' .' : ' ;';
175
+ return ` <${triple.predicate}> ${renderTurtleObject(triple.object)}${suffix}`;
176
+ });
177
+ lines.push(`<${block.subject}>`);
178
+ lines.push(...tripleLines);
179
+ if (block.extraStatements?.length) {
180
+ if (tripleLines.length > 0) {
181
+ const lastTripleIndex = lines.length - 1;
182
+ lines[lastTripleIndex] = lines[lastTripleIndex].replace(/\s;$/, ' .');
183
+ }
184
+ lines.push(...block.extraStatements.map((statement) => (statement.trim().endsWith('.') ? statement.trim() : `${statement.trim()} .`)));
185
+ }
186
+ if (predicates.length === 0) {
187
+ lines.push(' .');
188
+ }
189
+ lines.push(MANAGED_END);
190
+ return `${lines.join('\n')}\n`;
191
+ }
192
+ export function parseManagedTurtleBlocks(turtle, baseIRI) {
193
+ const blocks = new Map();
194
+ const regexp = new RegExp(`${escapeRegExp(MANAGED_BEGIN)} ([^\\n]+)\\n([\\s\\S]*?)${escapeRegExp(MANAGED_END)}`, 'g');
195
+ let match;
196
+ while ((match = regexp.exec(turtle))) {
197
+ const subject = decodeURIComponent(match[1]);
198
+ const body = match[2];
199
+ const predicates = new Map();
200
+ const lineRegexp = /^ {2}<([^>]+)>\s+(.+?)\s*[;.]$/gm;
201
+ let lineMatch;
202
+ while ((lineMatch = lineRegexp.exec(body))) {
203
+ const object = parseTurtleObject(lineMatch[2]);
204
+ if (!object) {
205
+ continue;
206
+ }
207
+ const existing = predicates.get(lineMatch[1]) ?? [];
208
+ existing.push(object);
209
+ predicates.set(lineMatch[1], existing);
210
+ }
211
+ blocks.set(subject, predicates);
212
+ }
213
+ for (const [subject, predicates] of parseStandardTurtleBlocks(turtle, baseIRI)) {
214
+ const existing = blocks.get(subject) ?? new Map();
215
+ for (const [predicate, objects] of predicates) {
216
+ existing.set(predicate, [...(existing.get(predicate) ?? []), ...objects]);
217
+ }
218
+ blocks.set(subject, existing);
219
+ }
220
+ return blocks;
221
+ }
222
+ export function firstLiteral(predicates, predicate) {
223
+ const object = predicates.get(predicate)?.[0];
224
+ return object?.type === 'literal' ? object.value : undefined;
225
+ }
226
+ export function firstIri(predicates, predicate) {
227
+ const object = predicates.get(predicate)?.[0];
228
+ return object?.type === 'iri' ? object.value : undefined;
229
+ }
230
+ export function firstInteger(predicates, predicate) {
231
+ const object = predicates.get(predicate)?.[0];
232
+ return object?.type === 'integer' ? object.value : undefined;
233
+ }
234
+ export function subjectIdFromResourceUrl(resourceUrl) {
235
+ return decodeURIComponent(resourceUrl.split('/').pop()?.replace(/\.ttl$/, '') ?? '');
236
+ }
237
+ export async function listTurtleResources(fetcher, containerUrl) {
238
+ const response = await fetcher(containerUrl, {
239
+ method: 'GET',
240
+ headers: { Accept: 'text/turtle, application/ld+json;q=0.8, */*;q=0.1' },
241
+ });
242
+ if (response.status === 404) {
243
+ return [];
244
+ }
245
+ if (!response.ok) {
246
+ throw new Error(`Failed to list Pod container ${containerUrl}: ${response.status} ${response.statusText}`);
247
+ }
248
+ const text = await response.text();
249
+ const urls = new Set();
250
+ const absoluteRegexp = /https?:\/\/[^<>"'\s)]+\.ttl/g;
251
+ for (const match of text.matchAll(absoluteRegexp)) {
252
+ urls.add(match[0]);
253
+ }
254
+ const relativeRegexp = /[<"]([^<>"']+\.ttl)[>"]/g;
255
+ let relativeMatch;
256
+ while ((relativeMatch = relativeRegexp.exec(text))) {
257
+ urls.add(new URL(relativeMatch[1], containerUrl).toString());
258
+ }
259
+ return [...urls].sort();
260
+ }
261
+ async function ensureResourceContainers(fetcher, resourceUrl) {
262
+ for (const containerUrl of containerUrlsForResource(resourceUrl)) {
263
+ await ensureContainer(fetcher, containerUrl);
264
+ }
265
+ }
266
+ async function ensureContainer(fetcher, containerUrl) {
267
+ const existing = await fetcher(containerUrl, { method: 'HEAD' }).catch(() => null);
268
+ if (existing?.ok) {
269
+ return;
270
+ }
271
+ if (existing && existing.status !== 404 && existing.status !== 405) {
272
+ return;
273
+ }
274
+ const response = await fetcher(containerUrl, {
275
+ method: 'PUT',
276
+ headers: {
277
+ Link: '<http://www.w3.org/ns/ldp#BasicContainer>; rel="type"',
278
+ 'Content-Type': 'text/turtle; charset=utf-8',
279
+ },
280
+ body: '',
281
+ });
282
+ if (!response.ok && response.status !== 409) {
283
+ throw new Error(`Failed to ensure Pod container ${containerUrl}: ${response.status} ${response.statusText}`);
284
+ }
285
+ }
286
+ function containerUrlsForResource(resourceUrl) {
287
+ const url = new URL(resourceUrl);
288
+ const parts = url.pathname.split('/').filter(Boolean);
289
+ const containers = [];
290
+ let path = '/';
291
+ for (let index = 0; index < parts.length - 1; index += 1) {
292
+ path += `${parts[index]}/`;
293
+ containers.push(new URL(path, url.origin).toString());
294
+ }
295
+ return containers;
296
+ }
297
+ function podBaseUrlFromWebIdOrUri(webIdOrUri) {
298
+ if (webIdOrUri.includes('/profile/card#me')) {
299
+ return podBaseUrlFromWebId(webIdOrUri);
300
+ }
301
+ const match = webIdOrUri.match(/^(https?:\/\/[^?#]+?)(?:\/\.data\/|\/settings\/|\/inbox\/)/u);
302
+ if (match) {
303
+ return match[1].replace(/\/$/, '');
304
+ }
305
+ return webIdOrUri.replace(/\/$/, '');
306
+ }
307
+ function renderTurtleObject(object) {
308
+ if (object.type === 'iri') {
309
+ return `<${object.value}>`;
310
+ }
311
+ if (object.type === 'integer') {
312
+ return String(object.value);
313
+ }
314
+ const datatype = object.datatype ? `^^<${object.datatype}>` : '';
315
+ return `"${escapeLiteral(object.value)}"${datatype}`;
316
+ }
317
+ function parseStandardTurtleBlocks(turtle, baseIRI) {
318
+ const blocks = new Map();
319
+ const parser = new Parser(baseIRI ? { baseIRI } : undefined);
320
+ let quads;
321
+ try {
322
+ quads = parser.parse(turtle);
323
+ }
324
+ catch {
325
+ return blocks;
326
+ }
327
+ for (const quad of quads) {
328
+ if (quad.subject.termType !== 'NamedNode' || quad.predicate.termType !== 'NamedNode') {
329
+ continue;
330
+ }
331
+ const object = turtleObjectFromTerm(quad.object);
332
+ if (!object) {
333
+ continue;
334
+ }
335
+ const predicates = blocks.get(quad.subject.value) ?? new Map();
336
+ const values = predicates.get(quad.predicate.value) ?? [];
337
+ values.push(object);
338
+ predicates.set(quad.predicate.value, values);
339
+ blocks.set(quad.subject.value, predicates);
340
+ }
341
+ return blocks;
342
+ }
343
+ function removeStandardTriplesForSubject(turtle, subject) {
344
+ if (!turtle.trim()) {
345
+ return '';
346
+ }
347
+ const baseIRI = subject.includes('#') ? subject.split('#')[0] : subject;
348
+ const parser = new Parser({ baseIRI });
349
+ let quads;
350
+ try {
351
+ quads = parser.parse(turtle);
352
+ }
353
+ catch {
354
+ return turtle;
355
+ }
356
+ const kept = quads.filter((quad) => (quad.subject.value !== subject
357
+ && !(quad.object.termType === 'NamedNode' && quad.object.value === subject)));
358
+ if (kept.length === quads.length) {
359
+ return turtle;
360
+ }
361
+ const writer = new Writer();
362
+ writer.addQuads(kept);
363
+ let output = '';
364
+ writer.end((error, result) => {
365
+ output = error ? turtle : result;
366
+ });
367
+ return output;
368
+ }
369
+ function turtleObjectFromTerm(term) {
370
+ if (term.termType === 'NamedNode') {
371
+ return iri(term.value);
372
+ }
373
+ if (term.termType !== 'Literal') {
374
+ return null;
375
+ }
376
+ const datatype = term.datatype?.value;
377
+ if (datatype === 'http://www.w3.org/2001/XMLSchema#integer'
378
+ || datatype === 'http://www.w3.org/2001/XMLSchema#decimal') {
379
+ const parsed = Number(term.value);
380
+ if (Number.isFinite(parsed)) {
381
+ return integerLiteral(parsed);
382
+ }
383
+ }
384
+ return literal(term.value, datatype);
385
+ }
386
+ function parseTurtleObject(source) {
387
+ const trimmed = source.trim();
388
+ const iriMatch = /^<([^>]+)>$/.exec(trimmed);
389
+ if (iriMatch) {
390
+ return iri(iriMatch[1]);
391
+ }
392
+ const integerMatch = /^-?\d+$/.exec(trimmed);
393
+ if (integerMatch) {
394
+ return integerLiteral(Number(trimmed));
395
+ }
396
+ const literalMatch = /^"((?:\\.|[^"\\])*)"(?:\^\^<([^>]+)>)?$/.exec(trimmed);
397
+ if (!literalMatch) {
398
+ return null;
399
+ }
400
+ return literal(unescapeLiteral(literalMatch[1]), literalMatch[2]);
401
+ }
402
+ function escapeLiteral(value) {
403
+ return value
404
+ .replace(/\\/g, '\\\\')
405
+ .replace(/"/g, '\\"')
406
+ .replace(/\n/g, '\\n')
407
+ .replace(/\r/g, '\\r');
408
+ }
409
+ function unescapeLiteral(value) {
410
+ return value
411
+ .replace(/\\r/g, '\r')
412
+ .replace(/\\n/g, '\n')
413
+ .replace(/\\"/g, '"')
414
+ .replace(/\\\\/g, '\\');
415
+ }
416
+ function isNotFoundError(error) {
417
+ return error instanceof Error && error.message.includes(': 404 ');
418
+ }
419
+ function escapeRegExp(value) {
420
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
421
+ }
422
+ //# sourceMappingURL=pod-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pod-native.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/pod-native.ts"],"names":[],"mappings":"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"}