@origintrail-official/dkg-node-ui 10.0.22 → 10.0.24

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 (52) hide show
  1. package/README.md +4 -0
  2. package/dist/chat-graph-delta-subjects.d.ts +38 -0
  3. package/dist/chat-graph-delta-subjects.d.ts.map +1 -0
  4. package/dist/chat-graph-delta-subjects.js +57 -0
  5. package/dist/chat-graph-delta-subjects.js.map +1 -0
  6. package/dist/chat-history-rows.d.ts +59 -0
  7. package/dist/chat-history-rows.d.ts.map +1 -0
  8. package/dist/chat-history-rows.js +152 -0
  9. package/dist/chat-history-rows.js.map +1 -0
  10. package/dist/chat-literals.d.ts +34 -0
  11. package/dist/chat-literals.d.ts.map +1 -0
  12. package/dist/chat-literals.js +141 -0
  13. package/dist/chat-literals.js.map +1 -0
  14. package/dist/chat-memory.d.ts +1 -17
  15. package/dist/chat-memory.d.ts.map +1 -1
  16. package/dist/chat-memory.js +56 -226
  17. package/dist/chat-memory.js.map +1 -1
  18. package/dist/chat-vocabulary.d.ts +12 -0
  19. package/dist/chat-vocabulary.d.ts.map +1 -0
  20. package/dist/chat-vocabulary.js +13 -0
  21. package/dist/chat-vocabulary.js.map +1 -0
  22. package/dist-ui/assets/{3d-force-graph-DbVwxMKf.js → 3d-force-graph-DvzZZzFn.js} +1 -1
  23. package/dist-ui/assets/{ActivityFeed-Bfg6fmQQ.js → ActivityFeed-B5QxV1dk.js} +2 -2
  24. package/dist-ui/assets/{AgentHub-DyF5Pa70.js → AgentHub-BO9jGbJl.js} +1 -1
  25. package/dist-ui/assets/{AgentProfilePage-BPrSuKjV.js → AgentProfilePage-DJJTn1WD.js} +1 -1
  26. package/dist-ui/assets/{ApproveWalletsModal-Dd_tHLRP.js → ApproveWalletsModal-C2Tu29tB.js} +3 -3
  27. package/dist-ui/assets/{ContextGraphPrimitives-BXormriD.js → ContextGraphPrimitives-BqlTIZHy.js} +1 -1
  28. package/dist-ui/assets/{ConvictionDetailView-BsPTd17P.js → ConvictionDetailView-J-DAKHtP.js} +2 -2
  29. package/dist-ui/assets/MemoryLayerView-BOxI-_TF.js +2 -0
  30. package/dist-ui/assets/{MemoryStackView-BbUJ2uiM.js → MemoryStackView-BTyZZKNm.js} +1 -1
  31. package/dist-ui/assets/{Network-BKvJttOu.js → Network-DV9K48MH.js} +1 -1
  32. package/dist-ui/assets/{OnChainProvenanceCard-BV9-G1cT.js → OnChainProvenanceCard-jxk66g53.js} +1 -1
  33. package/dist-ui/assets/{Operations-LAhUQsnj.js → Operations-CNB1BMYg.js} +1 -1
  34. package/dist-ui/assets/{ProjectView-0zCSblAV.js → ProjectView-BP4vNSXI.js} +30 -30
  35. package/dist-ui/assets/{PublishingConviction-CF6352oT.js → PublishingConviction-DbP1i3v0.js} +2 -2
  36. package/dist-ui/assets/{Settings-runaZqPv.js → Settings-I6g3MQCV.js} +1 -1
  37. package/dist-ui/assets/{browserWalletTransaction-CBgx0i4w.js → browserWalletTransaction-CXv612Pn.js} +3 -3
  38. package/dist-ui/assets/{ccip-BM07w5uU.js → ccip-DY93ay8e.js} +1 -1
  39. package/dist-ui/assets/index-CIt7zWgM.css +1 -0
  40. package/dist-ui/assets/{index-CfVUpsfM.js → index-CumB6j2m.js} +3 -3
  41. package/dist-ui/assets/index-DW3dBcQk.js +1175 -0
  42. package/dist-ui/assets/{jsonld-32FQRO67-DBZOBQji.js → jsonld-32FQRO67-DKLfQ_nD.js} +2 -2
  43. package/dist-ui/assets/{jsonld-DOX7dKpf.js → jsonld-BgpgXlDQ.js} +1 -1
  44. package/dist-ui/assets/{renderer-3d-2EVDZII7-CVCpAmwB.js → renderer-3d-2EVDZII7-BCmzI8Ii.js} +2 -2
  45. package/dist-ui/assets/{shikiHighlighter-CzU2U2Tx.js → shikiHighlighter-BXl6qMQO.js} +4 -4
  46. package/dist-ui/assets/{useEntityOnChainReceipt-BvWQ6qdT.js → useEntityOnChainReceipt-CUGQNIsP.js} +1 -1
  47. package/dist-ui/assets/{useProjectActivity-Cxr4QGX1.js → useProjectActivity-BOgGdtS7.js} +1 -1
  48. package/dist-ui/index.html +2 -2
  49. package/package.json +4 -4
  50. package/dist-ui/assets/MemoryLayerView-CloJeM33.js +0 -2
  51. package/dist-ui/assets/index-MQh8C4aJ.js +0 -1175
  52. package/dist-ui/assets/index-xKO-U_eV.css +0 -1
@@ -1,7 +1,10 @@
1
1
  import { chatTurnSubjectPattern, scopedChatTurnUri, decodeExistingChatTurn } from './chat-turn-subject.js';
2
2
  import { isSafeIri } from '@origintrail-official/dkg-core';
3
3
  import { LlmClient } from './llm/client.js';
4
- import { decodeRdfStringLiteral } from './rdf-literal.js';
4
+ import { normalizeChatAttachmentRefs, stripRdfLiteral } from './chat-literals.js';
5
+ import { foldListedRows, foldSessionRows } from './chat-history-rows.js';
6
+ import { selectGraphDeltaSubjects } from './chat-graph-delta-subjects.js';
7
+ import { CHAT_ATTACHMENT_REFS_PREDICATE, CHAT_NS, CHAT_TURN_PERSISTENCE_TRANSITION_PREDICATE, CHAT_TURN_PERSISTENCE_TRANSITION_TYPE, DKG_ONT, MEMORY_NS, RDF_TYPE, SCHEMA, XSD_DATETIME, } from './chat-vocabulary.js';
5
8
  export { decodeRdfStringLiteral } from './rdf-literal.js';
6
9
  const IMPORT_SOURCES = ['claude', 'chatgpt', 'gemini', 'other'];
7
10
  /**
@@ -27,148 +30,7 @@ const IMPORT_SOURCES = ['claude', 'chatgpt', 'gemini', 'other'];
27
30
  export const AGENT_CONTEXT_GRAPH = 'agent-context';
28
31
  export const CHAT_TURNS_ASSERTION = 'chat-turns';
29
32
  const OPENCLAW_LOCAL_SESSION_ID = 'openclaw:dkg-ui';
30
- const CHAT_NS = 'urn:dkg:chat:';
31
- const MEMORY_NS = 'urn:dkg:memory:';
32
- const SCHEMA = 'http://schema.org/';
33
- const DKG_ONT = 'http://dkg.io/ontology/';
34
- const RDF_TYPE = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type';
35
- const XSD_DATETIME = 'http://www.w3.org/2001/XMLSchema#dateTime';
36
33
  const OPENCLAW_LOCAL_SESSION_URI = `${CHAT_NS}session:${OPENCLAW_LOCAL_SESSION_ID}`;
37
- const CHAT_ATTACHMENT_REFS_PREDICATE = `${DKG_ONT}attachmentRefs`;
38
- const CHAT_TURN_PERSISTENCE_TRANSITION_TYPE = `${DKG_ONT}ChatTurnPersistenceTransition`;
39
- const CHAT_TURN_PERSISTENCE_TRANSITION_PREDICATE = `${DKG_ONT}updatesTurn`;
40
- const PERSISTENCE_STATUS_RANK = {
41
- skipped: 1,
42
- pending: 2,
43
- in_progress: 3,
44
- failed: 4,
45
- stored: 5,
46
- };
47
- function stripRdfLiteral(value) {
48
- if (!value)
49
- return '';
50
- const typed = value.match(/^"([\s\S]*)"(?:\^\^<[^>]+>)?(?:@[a-z-]+)?$/);
51
- if (typed)
52
- return typed[1];
53
- return value;
54
- }
55
- function normalizePersistenceStatus(value) {
56
- const status = stripRdfLiteral(value).trim();
57
- if (status === 'pending' || status === 'in_progress' || status === 'stored' || status === 'failed' || status === 'skipped') {
58
- return status;
59
- }
60
- return undefined;
61
- }
62
- function choosePersistenceStatus(current, candidate) {
63
- if (!candidate)
64
- return current;
65
- if (!current)
66
- return candidate;
67
- return PERSISTENCE_STATUS_RANK[candidate] > PERSISTENCE_STATUS_RANK[current] ? candidate : current;
68
- }
69
- function normalizeChatAttachmentRef(raw) {
70
- if (!raw || typeof raw !== 'object')
71
- return null;
72
- const record = raw;
73
- const fileName = typeof record.fileName === 'string' ? record.fileName.trim() : '';
74
- const contextGraphId = typeof record.contextGraphId === 'string' ? record.contextGraphId.trim() : '';
75
- const assertionUri = typeof record.assertionUri === 'string' ? record.assertionUri.trim() : '';
76
- const fileHash = typeof record.fileHash === 'string' ? record.fileHash.trim() : '';
77
- if (!fileName || !contextGraphId || !assertionUri || !fileHash)
78
- return null;
79
- const normalized = {
80
- fileName,
81
- contextGraphId,
82
- assertionUri,
83
- fileHash,
84
- };
85
- if (typeof record.id === 'string' && record.id.trim())
86
- normalized.id = record.id.trim();
87
- if (typeof record.assertionName === 'string' && record.assertionName.trim())
88
- normalized.assertionName = record.assertionName.trim();
89
- if (typeof record.detectedContentType === 'string' && record.detectedContentType.trim()) {
90
- normalized.detectedContentType = record.detectedContentType.trim();
91
- }
92
- if (record.extractionStatus === 'completed' || record.extractionStatus === 'skipped' || record.extractionStatus === 'failed') {
93
- normalized.extractionStatus = record.extractionStatus;
94
- }
95
- if (typeof record.tripleCount === 'number' && Number.isFinite(record.tripleCount) && record.tripleCount >= 0) {
96
- normalized.tripleCount = record.tripleCount;
97
- }
98
- if (typeof record.rootEntity === 'string' && record.rootEntity.trim())
99
- normalized.rootEntity = record.rootEntity.trim();
100
- return normalized;
101
- }
102
- function normalizeChatAttachmentRefs(raw) {
103
- if (!Array.isArray(raw))
104
- return undefined;
105
- const refs = raw
106
- .map((entry) => normalizeChatAttachmentRef(entry))
107
- .filter((entry) => entry != null);
108
- return refs.length > 0 ? refs : undefined;
109
- }
110
- function normalizeChatToolCall(raw) {
111
- if (!raw || typeof raw !== 'object')
112
- return null;
113
- const record = raw;
114
- const name = typeof record.name === 'string' && record.name.trim() ? record.name.trim() : 'unknown';
115
- return {
116
- name,
117
- args: record.args && typeof record.args === 'object' && !Array.isArray(record.args)
118
- ? record.args
119
- : {},
120
- result: record.result,
121
- };
122
- }
123
- function normalizeChatToolCalls(raw) {
124
- if (!Array.isArray(raw))
125
- return undefined;
126
- const calls = raw
127
- .map((entry) => normalizeChatToolCall(entry))
128
- .filter((entry) => entry != null);
129
- return calls.length > 0 ? calls : undefined;
130
- }
131
- function parseNestedJsonLiteral(value) {
132
- let current = value;
133
- for (let depth = 0; depth < 4; depth += 1) {
134
- if (typeof current !== 'string')
135
- return current;
136
- const trimmed = current.trim();
137
- if (!trimmed)
138
- return undefined;
139
- try {
140
- current = JSON.parse(trimmed);
141
- }
142
- catch {
143
- return undefined;
144
- }
145
- }
146
- return current;
147
- }
148
- function parseAttachmentRefsLiteral(value) {
149
- const candidates = [value, stripRdfLiteral(value)]
150
- .map((candidate) => candidate.trim())
151
- .filter((candidate, index, all) => candidate.length > 0 && all.indexOf(candidate) === index);
152
- for (const candidate of candidates) {
153
- const parsed = parseNestedJsonLiteral(candidate) ?? parseNestedJsonLiteral(JSON.stringify(candidate));
154
- const normalized = normalizeChatAttachmentRefs(parsed);
155
- if (normalized?.length)
156
- return normalized;
157
- }
158
- return undefined;
159
- }
160
- function parseToolCallsLiteral(value) {
161
- const candidates = [value, stripRdfLiteral(value)]
162
- .map((candidate) => candidate.trim())
163
- .filter((candidate, index, all) => candidate.length > 0 && all.indexOf(candidate) === index);
164
- for (const candidate of candidates) {
165
- const parsed = parseNestedJsonLiteral(candidate) ?? parseNestedJsonLiteral(JSON.stringify(candidate));
166
- const normalized = normalizeChatToolCalls(parsed);
167
- if (normalized?.length)
168
- return normalized;
169
- }
170
- return undefined;
171
- }
172
34
  function parseRdfInt(value) {
173
35
  if (!value)
174
36
  return 0;
@@ -783,53 +645,9 @@ export class ChatMemoryManager {
783
645
  const bindings = msgsResult.bindings ?? [];
784
646
  if (bindings.length === 0)
785
647
  return null;
786
- const messagesByUri = new Map();
787
- for (const mb of bindings) {
788
- const uri = String(mb.m ?? '').replace(/[<>]/g, '');
789
- const key = uri || `${String(mb.author ?? '')}:${String(mb.ts ?? '')}:${String(mb.text ?? '')}`;
790
- let message = messagesByUri.get(key);
791
- if (!message) {
792
- message = {
793
- uri,
794
- author: mb.author?.includes('user') ? 'user' : 'agent',
795
- text: decodeRdfStringLiteral(mb.text ?? ''),
796
- ts: stripRdfLiteral(mb.ts ?? ''),
797
- turnId: stripRdfLiteral(mb.turnId ?? '') || undefined,
798
- attachmentRefs: parseAttachmentRefsLiteral(String(mb.attachmentRefs ?? '')),
799
- };
800
- messagesByUri.set(key, message);
801
- }
802
- const candidateStatus = normalizePersistenceStatus(mb.transitionState ?? mb.persistenceState ?? '');
803
- const transitionAssistantReply = String(mb.transitionAssistantReply ?? '');
804
- if (message.author === 'agent' && candidateStatus === 'stored' && transitionAssistantReply) {
805
- // The transition `assistantReply` is written via `JSON.stringify`
806
- // (see opts.assistantReply quad) exactly like the base
807
- // `schema:text`, so it needs the same decode — otherwise a
808
- // stored turn (the dominant path on reload) overwrites the
809
- // correctly-decoded base text with a literal-`\n` string and
810
- // markdown breaks after refresh again.
811
- message.text = decodeRdfStringLiteral(transitionAssistantReply);
812
- }
813
- const transitionAttachmentRefs = parseAttachmentRefsLiteral(String(mb.transitionAttachmentRefs ?? ''));
814
- if (message.author === 'user' && candidateStatus === 'stored' && transitionAttachmentRefs?.length) {
815
- message.attachmentRefs = transitionAttachmentRefs;
816
- }
817
- const transitionToolCalls = parseToolCallsLiteral(String(mb.transitionToolCalls ?? ''));
818
- if (message.author === 'agent' && candidateStatus === 'stored' && transitionToolCalls?.length) {
819
- message.toolCalls = transitionToolCalls;
820
- }
821
- message.persistStatus = choosePersistenceStatus(message.persistStatus, candidateStatus);
822
- const candidateReason = stripRdfLiteral(mb.transitionFailureReason ?? mb.failureReason ?? '').trim();
823
- if (candidateStatus === 'failed' && candidateReason) {
824
- message.failureReason = candidateReason;
825
- }
826
- if (message.persistStatus && message.persistStatus !== 'failed') {
827
- message.failureReason = undefined;
828
- }
829
- }
830
648
  return {
831
649
  session: sessionId,
832
- messages: [...messagesByUri.values()],
650
+ messages: foldSessionRows(bindings),
833
651
  };
834
652
  }
835
653
  catch {
@@ -870,32 +688,62 @@ export class ChatMemoryManager {
870
688
  const values = sessionEntries
871
689
  .map((entry) => `<${entry.sessionUri}>`)
872
690
  .join(' ');
873
- const allMsgs = await this.tools.query(`SELECT ?session ?author ?text ?ts WHERE {
691
+ // One round trip for both: the messages of the listed sessions, and the
692
+ // turns among them that completed by a `stored` transition. Such a turn
693
+ // keeps the reply of its first report on its assistant Message and carries
694
+ // the final one on the transition, so each message is joined to the
695
+ // transitions of the turn it is the assistant Message of (through the
696
+ // turn's `hasAssistantMessage` link), and `completedTurnReply`, the
697
+ // resolver `getSession` uses, decides which reply wins. The turn is matched
698
+ // to its transitions through its own session link, so a turn of another
699
+ // session that reuses the id never contributes.
700
+ //
701
+ // A legacy turn subject that two sessions share links the assistant
702
+ // Message of both, and a transition on it does not say whose completion
703
+ // it is. Such a subject contributes no completion here, so the list keeps
704
+ // each session's reply as it was written and never shows one session the
705
+ // other's (see `chatTurnSubjectPattern`).
706
+ //
707
+ // The completed turns are an independent subquery over the listed
708
+ // sessions' turns, joined to the messages on the assistant Message. The
709
+ // query must not use a UNION: a read of the working-memory view can span
710
+ // more than one graph (a by-name read also includes the assertion's scoped
711
+ // child graphs, and an agent address can have several candidate layer
712
+ // graphs), and the query engine refuses a UNION combined with ORDER BY
713
+ // across graphs, so the whole list would come back empty. An OPTIONAL
714
+ // join of `turnId` onto every message would cost more on this query, and
715
+ // would pair a message that has no `turnId` with the transitions of the
716
+ // session's other turns.
717
+ const allMsgs = await this.tools.query(`SELECT ?session ?author ?text ?ts ?m ?transitionState ?transitionAssistantReply WHERE {
874
718
  VALUES ?session { ${values} }
875
719
  ?m <${SCHEMA}isPartOf> ?session .
876
720
  ?m <${SCHEMA}author> ?author .
877
721
  ?m <${SCHEMA}text> ?text .
878
722
  ?m <${SCHEMA}dateCreated> ?ts
879
- } ORDER BY ?session ?ts`, this.wmReadOpts());
880
- const bySession = new Map();
881
- for (const row of allMsgs.bindings ?? []) {
882
- const sessionUri = String(row.session ?? '').replace(/[<>]/g, '');
883
- if (!sessionUri)
884
- continue;
885
- if (!bySession.has(sessionUri))
886
- bySession.set(sessionUri, []);
887
- const msgs = bySession.get(sessionUri);
888
- if (msgs.length >= 100)
889
- continue;
890
- msgs.push({
891
- author: row.author?.includes('user') ? 'user' : 'agent',
892
- text: decodeRdfStringLiteral(row.text ?? ''),
893
- ts: stripRdfLiteral(row.ts ?? ''),
894
- });
723
+ OPTIONAL {
724
+ {
725
+ SELECT ?m ?transitionState ?transitionAssistantReply ?transitionTs WHERE {
726
+ VALUES ?turnSession { ${values} }
727
+ ?turn <${SCHEMA}isPartOf> ?turnSession .
728
+ ?transition <${CHAT_TURN_PERSISTENCE_TRANSITION_PREDICATE}> ?turn .
729
+ ?turn <${RDF_TYPE}> <${DKG_ONT}ChatTurn> .
730
+ ?transition <${RDF_TYPE}> <${CHAT_TURN_PERSISTENCE_TRANSITION_TYPE}> .
731
+ ?transition <${DKG_ONT}persistenceState> ?transitionState .
732
+ ?transition <${DKG_ONT}assistantReply> ?transitionAssistantReply .
733
+ ?turn <${DKG_ONT}hasAssistantMessage> ?m .
734
+ OPTIONAL { ?transition <${SCHEMA}dateCreated> ?transitionTs }
735
+ FILTER NOT EXISTS {
736
+ ?turn <${SCHEMA}isPartOf> ?otherSession .
737
+ FILTER(?otherSession != ?turnSession)
738
+ }
739
+ }
895
740
  }
741
+ }
742
+ } ORDER BY ?session ?ts ?transitionTs`, this.wmReadOpts());
743
+ const bySession = foldListedRows(allMsgs.bindings ?? []);
896
744
  return sessionEntries.map((entry) => ({
897
745
  session: entry.sessionId,
898
- messages: bySession.get(entry.sessionUri) ?? [],
746
+ messages: (bySession.get(entry.sessionUri) ?? []).map(({ author, text, ts }) => ({ author, text, ts })),
899
747
  }));
900
748
  }
901
749
  catch {
@@ -1046,27 +894,9 @@ export class ChatMemoryManager {
1046
894
  triples: [],
1047
895
  };
1048
896
  }
1049
- const relatedSubjectsResult = await this.tools.query(`SELECT DISTINCT ?s WHERE {
1050
- VALUES ?msg { <${userMsgUri}> <${assistantMsgUri}> }
1051
- { BIND(<${sessionUri}> AS ?s) }
1052
- UNION { BIND(<${turnUri}> AS ?s) }
1053
- UNION { BIND(?msg AS ?s) }
1054
- UNION { <${assistantMsgUri}> <${DKG_ONT}usedTool> ?s }
1055
- UNION { ?s <${DKG_ONT}mentionedIn> ?msg }
1056
- UNION {
1057
- ?entity <${DKG_ONT}mentionedIn> ?msg .
1058
- ?s <${DKG_ONT}contains> ?entity .
1059
- ?s <${DKG_ONT}extractedFrom> <${sessionUri}> .
1060
- }
1061
- } LIMIT 5000`, this.wmReadOpts());
1062
- const subjectSet = new Set([sessionUri, turnUri, userMsgUri, assistantMsgUri]);
1063
- for (const b of relatedSubjectsResult.bindings ?? []) {
1064
- const iri = String(b.s ?? '').replace(/[<>]/g, '');
1065
- if (!iri || !isSafeIri(iri))
1066
- continue;
1067
- subjectSet.add(iri);
1068
- }
1069
- const values = [...subjectSet]
897
+ // What hangs off the turn, including its transitions (see the function).
898
+ const subjects = await selectGraphDeltaSubjects((sparql) => this.tools.query(sparql, this.wmReadOpts()), { sessionUri, turnUri, userMsgUri, assistantMsgUri });
899
+ const values = subjects
1070
900
  .map((iri) => `<${iri}>`)
1071
901
  .join(' ');
1072
902
  const deltaResult = await this.tools.query(`CONSTRUCT { ?s ?p ?o } WHERE {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-memory.js","sourceRoot":"","sources":["../src/chat-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-memory.js","sourceRoot":"","sources":["../src/chat-memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** The RDF vocabulary the chat-turns assertion is written and read in, shared by the chat modules. */
2
+ export declare const CHAT_NS = "urn:dkg:chat:";
3
+ export declare const MEMORY_NS = "urn:dkg:memory:";
4
+ export declare const SCHEMA = "http://schema.org/";
5
+ export declare const DKG_ONT = "http://dkg.io/ontology/";
6
+ export declare const RDF_TYPE = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type";
7
+ export declare const XSD_DATETIME = "http://www.w3.org/2001/XMLSchema#dateTime";
8
+ export declare const CHAT_ATTACHMENT_REFS_PREDICATE = "http://dkg.io/ontology/attachmentRefs";
9
+ /** A completion of a turn after its first report: a node of this type that points at the turn. */
10
+ export declare const CHAT_TURN_PERSISTENCE_TRANSITION_TYPE = "http://dkg.io/ontology/ChatTurnPersistenceTransition";
11
+ export declare const CHAT_TURN_PERSISTENCE_TRANSITION_PREDICATE = "http://dkg.io/ontology/updatesTurn";
12
+ //# sourceMappingURL=chat-vocabulary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-vocabulary.d.ts","sourceRoot":"","sources":["../src/chat-vocabulary.ts"],"names":[],"mappings":"AACA,sGAAsG;AACtG,eAAO,MAAM,OAAO,kBAAkB,CAAC;AACvC,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAC3C,eAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,eAAO,MAAM,OAAO,4BAA4B,CAAC;AACjD,eAAO,MAAM,QAAQ,oDAAoD,CAAC;AAC1E,eAAO,MAAM,YAAY,8CAA8C,CAAC;AACxE,eAAO,MAAM,8BAA8B,0CAA6B,CAAC;AACzE,kGAAkG;AAClG,eAAO,MAAM,qCAAqC,yDAA4C,CAAC;AAC/F,eAAO,MAAM,0CAA0C,uCAA0B,CAAC"}
@@ -0,0 +1,13 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /** The RDF vocabulary the chat-turns assertion is written and read in, shared by the chat modules. */
3
+ export const CHAT_NS = 'urn:dkg:chat:';
4
+ export const MEMORY_NS = 'urn:dkg:memory:';
5
+ export const SCHEMA = 'http://schema.org/';
6
+ export const DKG_ONT = 'http://dkg.io/ontology/';
7
+ export const RDF_TYPE = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type';
8
+ export const XSD_DATETIME = 'http://www.w3.org/2001/XMLSchema#dateTime';
9
+ export const CHAT_ATTACHMENT_REFS_PREDICATE = `${DKG_ONT}attachmentRefs`;
10
+ /** A completion of a turn after its first report: a node of this type that points at the turn. */
11
+ export const CHAT_TURN_PERSISTENCE_TRANSITION_TYPE = `${DKG_ONT}ChatTurnPersistenceTransition`;
12
+ export const CHAT_TURN_PERSISTENCE_TRANSITION_PREDICATE = `${DKG_ONT}updatesTurn`;
13
+ //# sourceMappingURL=chat-vocabulary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-vocabulary.js","sourceRoot":"","sources":["../src/chat-vocabulary.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,sGAAsG;AACtG,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAC3C,MAAM,CAAC,MAAM,MAAM,GAAG,oBAAoB,CAAC;AAC3C,MAAM,CAAC,MAAM,OAAO,GAAG,yBAAyB,CAAC;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG,iDAAiD,CAAC;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,2CAA2C,CAAC;AACxE,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,OAAO,gBAAgB,CAAC;AACzE,kGAAkG;AAClG,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAAG,OAAO,+BAA+B,CAAC;AAC/F,MAAM,CAAC,MAAM,0CAA0C,GAAG,GAAG,OAAO,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- import{v as Po,c8 as Lh,aG as Qe,cD as _n,cX as ce,br as bl,cY as V,aM as St,o as si,aO as kt,ct as _l,r as Dt,aQ as Uh,n as Yi,ax as cm,ae as Oh,K as Ih,l as kh,F as dm,bv as hm,ay as Gh,u as fm,cJ as pm,db as z,af as it,cm as xl,ba as cs,bo as Vh,co as Tl,dd as $h,dc as Oe,d6 as k,s as Ge,cd as Ss,aA as vt,bD as It,cZ as ze,a7 as gm,a6 as mm,B as ot,a5 as hs,T as xn,cW as Or,c_ as uo,cI as Zt,t as Ns,bt as ym,S as zh,c9 as bm,cv as vl,i as Wh,ag as _m,aw as xm,aE as Tm,cc as vm,C as Sm,A as Nm,d as Rm,b3 as wm,p as Ws,cO as ht,cr as js,cV as ds,al as st,cS as Ve,a3 as rt,e as jh,ca as Fo,cb as Do,P as Tn,Q as vn,c5 as Jt,c6 as Lo,b_ as Uo,b$ as qh,cT as Hh,cU as Xh,cQ as Sn,cR as Sl,cP as Nl,a0 as Oo,a4 as Kh,R as nn,bq as Hr,j as Em,bs as Am,aP as On,J as qs,a as pn,d3 as Un,bw as Js,d2 as Cm,_ as Rl,$ as wl,E as yu,W as lo,cn as ae,aL as ri,bn as El,aH as dc,bB as Io,d1 as Xr,d5 as Mm,d8 as co,aY as ko,q as Kr,ce as Go,aB as fs,aC as bu,b1 as Yr,b2 as Yh,b0 as xt,be as Qh,a8 as ho,aa as er,X as Zh,as as ii,aq as Al,f as Jh,b4 as ef,aF as hc,b8 as tr,d7 as Bm,cg as tf,cB as nf,bj as sf,bk as rf,bl as of,bm as af,U as uf,V as lf,cy as cf,cx as df,cz as hf,bi as ff,I as Pm,G as Fm,H as Dm,aI as pf,b7 as Nn,a_ as ks,cC as Gs,c as Vs,bb as gn,bf as gf,a9 as mf,ab as yf,Y as bf,at as _f,ar as xf,g as Tf,b5 as vf,bE as Cl,c4 as Qi,bX as Zi,bY as Ji,bZ as eo,c3 as fc,c2 as pc,bW as gc,bV as mc,c0 as _u,c1 as xu,bU as Tu,bx as vu,ci as Su,bC as fo,cl as Nu,bL as Ru,bM as wu,bN as Eu,bO as Au,bP as Cu,bQ as Mu,bR as Bu,bS as Pu,bG as Fu,bH as Du,bI as Lu,bF as Uu,bJ as Ou,bK as Iu,bT as ku,bA as Gu,ck as Vu,bz as po,cj as $u,M as Sf,aT as Lm,aV as Um,aU as Om,aW as Im,aS as km,aR as Gm,az as Vm,bu as $m,cw as zm,cq as Wm,by as jm,D as Vo,cF as Ml,cK as qm,cM as Hm,cL as Xm,a2 as go,bg as Km,ad as Ym,ac as Qm,Z as Zm,au as Jm,av as ey,h as ty,b6 as ny,O as sy,ai as ry,N as iy,ah as oy,ao as ay,cf as uy,d4 as ly,ap as cy,aN as dy,aX as hy,ch as Nf,a1 as Rf,b as fy,aZ as py,a$ as gy,aJ as mo,bd as wf,aK as Ef,m as Af,w as my,k as yy,x as by,cs as _y,bp as xy,y as yo,z as bo,cE as ia,b9 as oa,bc as Ty,bh as vy,aj as Sy,ak as Ny,L as Ry,cA as Bl,aD as wy,an as Ey,am as Ay,d9 as Cy,cu as yc,c7 as My,cp as bc,cN as By,c$ as Py,cH as Cf,cG as Fy,d0 as Dy}from"./three.module-BXIk8GZS.js";import{az as Ly}from"./index-MQh8C4aJ.js";import{i as fe,s as Uy,e as Pl,c as Oy,d as Iy,a as ky,b as Gy,f as Vy,t as Mf,g as $y,G as zy,T as _c,E as xc}from"./index-CfVUpsfM.js";import{o as Wy,h as jy,m as qy}from"./string-DtUow4KV.js";const Hs=new bl,mn=new ce,Bf=new V,aa=new ce,to=new ce,_o=new V,zu=new V,Pf=new St,Ff=new V,Df=new V;let nt=null,qt=null;const yn=[],$n={NONE:-1,PAN:0,ROTATE:1};class Hy extends Po{constructor(e,t,n=null){super(t,n),this.objects=e,this.recursive=!0,this.transformGroup=!1,this.rotateSpeed=1,this.raycaster=new Lh,this.mouseButtons={LEFT:Qe.PAN,MIDDLE:Qe.PAN,RIGHT:Qe.ROTATE},this.touches={ONE:_n.PAN},this._onPointerMove=Xy.bind(this),this._onPointerDown=Ky.bind(this),this._onPointerCancel=Yy.bind(this),this._onContextMenu=Qy.bind(this),n!==null&&this.connect(n)}connect(e){super.connect(e),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointerup",this._onPointerCancel),this.domElement.addEventListener("pointerleave",this._onPointerCancel),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointerup",this._onPointerCancel),this.domElement.removeEventListener("pointerleave",this._onPointerCancel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="",this.domElement.style.cursor=""}dispose(){this.disconnect()}_updatePointer(e){const t=this.domElement.getBoundingClientRect();mn.x=(e.clientX-t.left)/t.width*2-1,mn.y=-(e.clientY-t.top)/t.height*2+1}_updateState(e){let t;if(e.pointerType==="touch")t=this.touches.ONE;else switch(e.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=null}switch(t){case Qe.PAN:case _n.PAN:this.state=$n.PAN;break;case Qe.ROTATE:case _n.ROTATE:this.state=$n.ROTATE;break;default:this.state=$n.NONE}}}function Xy(i){const e=this.object,t=this.domElement,n=this.raycaster;if(this.enabled!==!1){if(this._updatePointer(i),n.setFromCamera(mn,e),nt)this.state===$n.PAN?n.ray.intersectPlane(Hs,_o)&&(nt.position.copy(_o.sub(Bf).applyMatrix4(Pf)),this.dispatchEvent({type:"drag",object:nt})):this.state===$n.ROTATE&&(aa.subVectors(mn,to).multiplyScalar(this.rotateSpeed),nt.rotateOnWorldAxis(Ff,aa.x),nt.rotateOnWorldAxis(Df.normalize(),-aa.y),this.dispatchEvent({type:"drag",object:nt})),to.copy(mn);else if(i.pointerType==="mouse"||i.pointerType==="pen")if(yn.length=0,n.setFromCamera(mn,e),n.intersectObjects(this.objects,this.recursive,yn),yn.length>0){const s=yn[0].object;Hs.setFromNormalAndCoplanarPoint(e.getWorldDirection(Hs.normal),zu.setFromMatrixPosition(s.matrixWorld)),qt!==s&&qt!==null&&(this.dispatchEvent({type:"hoveroff",object:qt}),t.style.cursor="auto",qt=null),qt!==s&&(this.dispatchEvent({type:"hoveron",object:s}),t.style.cursor="pointer",qt=s)}else qt!==null&&(this.dispatchEvent({type:"hoveroff",object:qt}),t.style.cursor="auto",qt=null);to.copy(mn)}}function Ky(i){const e=this.object,t=this.domElement,n=this.raycaster;this.enabled!==!1&&(this._updatePointer(i),this._updateState(i),yn.length=0,n.setFromCamera(mn,e),n.intersectObjects(this.objects,this.recursive,yn),yn.length>0&&(this.transformGroup===!0?nt=Lf(yn[0].object):nt=yn[0].object,Hs.setFromNormalAndCoplanarPoint(e.getWorldDirection(Hs.normal),zu.setFromMatrixPosition(nt.matrixWorld)),n.ray.intersectPlane(Hs,_o)&&(this.state===$n.PAN?(Pf.copy(nt.parent.matrixWorld).invert(),Bf.copy(_o).sub(zu.setFromMatrixPosition(nt.matrixWorld)),t.style.cursor="move",this.dispatchEvent({type:"dragstart",object:nt})):this.state===$n.ROTATE&&(Ff.set(0,1,0).applyQuaternion(e.quaternion).normalize(),Df.set(1,0,0).applyQuaternion(e.quaternion).normalize(),t.style.cursor="move",this.dispatchEvent({type:"dragstart",object:nt})))),to.copy(mn))}function Yy(){this.enabled!==!1&&(nt&&(this.dispatchEvent({type:"dragend",object:nt}),nt=null),this.domElement.style.cursor=qt?"pointer":"auto",this.state=$n.NONE)}function Qy(i){this.enabled!==!1&&i.preventDefault()}function Lf(i,e=null){return i.isGroup&&(e=i),i.parent===null?e:Lf(i.parent,e)}function Zy(i){eb(i);const e=Jy(i);return i.on=e.on,i.off=e.off,i.fire=e.fire,i}function Jy(i){let e=Object.create(null);return{on:function(t,n,s){if(typeof n!="function")throw new Error("callback is expected to be a function");let r=e[t];return r||(r=e[t]=[]),r.push({callback:n,ctx:s}),i},off:function(t,n){if(typeof t>"u")return e=Object.create(null),i;if(e[t])if(typeof n!="function")delete e[t];else{const o=e[t];for(let a=0;a<o.length;++a)o[a].callback===n&&o.splice(a,1)}return i},fire:function(t){const n=e[t];if(!n)return i;let s;arguments.length>1&&(s=Array.prototype.slice.call(arguments,1));for(let r=0;r<n.length;++r){const o=n[r];o.callback.apply(o.ctx,s)}return i}}}function eb(i){if(!i)throw new Error("Eventify cannot use falsy object as events subject");const e=["on","fire","off"];for(let t=0;t<e.length;++t)if(i.hasOwnProperty(e[t]))throw new Error("Subject cannot be eventified, since it already has property '"+e[t]+"'")}function tb(i){if(i=i||{},"uniqueLinkId"in i&&(console.warn("ngraph.graph: Starting from version 0.14 `uniqueLinkId` is deprecated.\nUse `multigraph` option instead\n",`
1
+ import{v as Po,c8 as Lh,aG as Qe,cD as _n,cX as ce,br as bl,cY as V,aM as St,o as si,aO as kt,ct as _l,r as Dt,aQ as Uh,n as Yi,ax as cm,ae as Oh,K as Ih,l as kh,F as dm,bv as hm,ay as Gh,u as fm,cJ as pm,db as z,af as it,cm as xl,ba as cs,bo as Vh,co as Tl,dd as $h,dc as Oe,d6 as k,s as Ge,cd as Ss,aA as vt,bD as It,cZ as ze,a7 as gm,a6 as mm,B as ot,a5 as hs,T as xn,cW as Or,c_ as uo,cI as Zt,t as Ns,bt as ym,S as zh,c9 as bm,cv as vl,i as Wh,ag as _m,aw as xm,aE as Tm,cc as vm,C as Sm,A as Nm,d as Rm,b3 as wm,p as Ws,cO as ht,cr as js,cV as ds,al as st,cS as Ve,a3 as rt,e as jh,ca as Fo,cb as Do,P as Tn,Q as vn,c5 as Jt,c6 as Lo,b_ as Uo,b$ as qh,cT as Hh,cU as Xh,cQ as Sn,cR as Sl,cP as Nl,a0 as Oo,a4 as Kh,R as nn,bq as Hr,j as Em,bs as Am,aP as On,J as qs,a as pn,d3 as Un,bw as Js,d2 as Cm,_ as Rl,$ as wl,E as yu,W as lo,cn as ae,aL as ri,bn as El,aH as dc,bB as Io,d1 as Xr,d5 as Mm,d8 as co,aY as ko,q as Kr,ce as Go,aB as fs,aC as bu,b1 as Yr,b2 as Yh,b0 as xt,be as Qh,a8 as ho,aa as er,X as Zh,as as ii,aq as Al,f as Jh,b4 as ef,aF as hc,b8 as tr,d7 as Bm,cg as tf,cB as nf,bj as sf,bk as rf,bl as of,bm as af,U as uf,V as lf,cy as cf,cx as df,cz as hf,bi as ff,I as Pm,G as Fm,H as Dm,aI as pf,b7 as Nn,a_ as ks,cC as Gs,c as Vs,bb as gn,bf as gf,a9 as mf,ab as yf,Y as bf,at as _f,ar as xf,g as Tf,b5 as vf,bE as Cl,c4 as Qi,bX as Zi,bY as Ji,bZ as eo,c3 as fc,c2 as pc,bW as gc,bV as mc,c0 as _u,c1 as xu,bU as Tu,bx as vu,ci as Su,bC as fo,cl as Nu,bL as Ru,bM as wu,bN as Eu,bO as Au,bP as Cu,bQ as Mu,bR as Bu,bS as Pu,bG as Fu,bH as Du,bI as Lu,bF as Uu,bJ as Ou,bK as Iu,bT as ku,bA as Gu,ck as Vu,bz as po,cj as $u,M as Sf,aT as Lm,aV as Um,aU as Om,aW as Im,aS as km,aR as Gm,az as Vm,bu as $m,cw as zm,cq as Wm,by as jm,D as Vo,cF as Ml,cK as qm,cM as Hm,cL as Xm,a2 as go,bg as Km,ad as Ym,ac as Qm,Z as Zm,au as Jm,av as ey,h as ty,b6 as ny,O as sy,ai as ry,N as iy,ah as oy,ao as ay,cf as uy,d4 as ly,ap as cy,aN as dy,aX as hy,ch as Nf,a1 as Rf,b as fy,aZ as py,a$ as gy,aJ as mo,bd as wf,aK as Ef,m as Af,w as my,k as yy,x as by,cs as _y,bp as xy,y as yo,z as bo,cE as ia,b9 as oa,bc as Ty,bh as vy,aj as Sy,ak as Ny,L as Ry,cA as Bl,aD as wy,an as Ey,am as Ay,d9 as Cy,cu as yc,c7 as My,cp as bc,cN as By,c$ as Py,cH as Cf,cG as Fy,d0 as Dy}from"./three.module-BXIk8GZS.js";import{aA as Ly}from"./index-DW3dBcQk.js";import{i as fe,s as Uy,e as Pl,c as Oy,d as Iy,a as ky,b as Gy,f as Vy,t as Mf,g as $y,G as zy,T as _c,E as xc}from"./index-CumB6j2m.js";import{o as Wy,h as jy,m as qy}from"./string-DtUow4KV.js";const Hs=new bl,mn=new ce,Bf=new V,aa=new ce,to=new ce,_o=new V,zu=new V,Pf=new St,Ff=new V,Df=new V;let nt=null,qt=null;const yn=[],$n={NONE:-1,PAN:0,ROTATE:1};class Hy extends Po{constructor(e,t,n=null){super(t,n),this.objects=e,this.recursive=!0,this.transformGroup=!1,this.rotateSpeed=1,this.raycaster=new Lh,this.mouseButtons={LEFT:Qe.PAN,MIDDLE:Qe.PAN,RIGHT:Qe.ROTATE},this.touches={ONE:_n.PAN},this._onPointerMove=Xy.bind(this),this._onPointerDown=Ky.bind(this),this._onPointerCancel=Yy.bind(this),this._onContextMenu=Qy.bind(this),n!==null&&this.connect(n)}connect(e){super.connect(e),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointerup",this._onPointerCancel),this.domElement.addEventListener("pointerleave",this._onPointerCancel),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointerup",this._onPointerCancel),this.domElement.removeEventListener("pointerleave",this._onPointerCancel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="",this.domElement.style.cursor=""}dispose(){this.disconnect()}_updatePointer(e){const t=this.domElement.getBoundingClientRect();mn.x=(e.clientX-t.left)/t.width*2-1,mn.y=-(e.clientY-t.top)/t.height*2+1}_updateState(e){let t;if(e.pointerType==="touch")t=this.touches.ONE;else switch(e.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=null}switch(t){case Qe.PAN:case _n.PAN:this.state=$n.PAN;break;case Qe.ROTATE:case _n.ROTATE:this.state=$n.ROTATE;break;default:this.state=$n.NONE}}}function Xy(i){const e=this.object,t=this.domElement,n=this.raycaster;if(this.enabled!==!1){if(this._updatePointer(i),n.setFromCamera(mn,e),nt)this.state===$n.PAN?n.ray.intersectPlane(Hs,_o)&&(nt.position.copy(_o.sub(Bf).applyMatrix4(Pf)),this.dispatchEvent({type:"drag",object:nt})):this.state===$n.ROTATE&&(aa.subVectors(mn,to).multiplyScalar(this.rotateSpeed),nt.rotateOnWorldAxis(Ff,aa.x),nt.rotateOnWorldAxis(Df.normalize(),-aa.y),this.dispatchEvent({type:"drag",object:nt})),to.copy(mn);else if(i.pointerType==="mouse"||i.pointerType==="pen")if(yn.length=0,n.setFromCamera(mn,e),n.intersectObjects(this.objects,this.recursive,yn),yn.length>0){const s=yn[0].object;Hs.setFromNormalAndCoplanarPoint(e.getWorldDirection(Hs.normal),zu.setFromMatrixPosition(s.matrixWorld)),qt!==s&&qt!==null&&(this.dispatchEvent({type:"hoveroff",object:qt}),t.style.cursor="auto",qt=null),qt!==s&&(this.dispatchEvent({type:"hoveron",object:s}),t.style.cursor="pointer",qt=s)}else qt!==null&&(this.dispatchEvent({type:"hoveroff",object:qt}),t.style.cursor="auto",qt=null);to.copy(mn)}}function Ky(i){const e=this.object,t=this.domElement,n=this.raycaster;this.enabled!==!1&&(this._updatePointer(i),this._updateState(i),yn.length=0,n.setFromCamera(mn,e),n.intersectObjects(this.objects,this.recursive,yn),yn.length>0&&(this.transformGroup===!0?nt=Lf(yn[0].object):nt=yn[0].object,Hs.setFromNormalAndCoplanarPoint(e.getWorldDirection(Hs.normal),zu.setFromMatrixPosition(nt.matrixWorld)),n.ray.intersectPlane(Hs,_o)&&(this.state===$n.PAN?(Pf.copy(nt.parent.matrixWorld).invert(),Bf.copy(_o).sub(zu.setFromMatrixPosition(nt.matrixWorld)),t.style.cursor="move",this.dispatchEvent({type:"dragstart",object:nt})):this.state===$n.ROTATE&&(Ff.set(0,1,0).applyQuaternion(e.quaternion).normalize(),Df.set(1,0,0).applyQuaternion(e.quaternion).normalize(),t.style.cursor="move",this.dispatchEvent({type:"dragstart",object:nt})))),to.copy(mn))}function Yy(){this.enabled!==!1&&(nt&&(this.dispatchEvent({type:"dragend",object:nt}),nt=null),this.domElement.style.cursor=qt?"pointer":"auto",this.state=$n.NONE)}function Qy(i){this.enabled!==!1&&i.preventDefault()}function Lf(i,e=null){return i.isGroup&&(e=i),i.parent===null?e:Lf(i.parent,e)}function Zy(i){eb(i);const e=Jy(i);return i.on=e.on,i.off=e.off,i.fire=e.fire,i}function Jy(i){let e=Object.create(null);return{on:function(t,n,s){if(typeof n!="function")throw new Error("callback is expected to be a function");let r=e[t];return r||(r=e[t]=[]),r.push({callback:n,ctx:s}),i},off:function(t,n){if(typeof t>"u")return e=Object.create(null),i;if(e[t])if(typeof n!="function")delete e[t];else{const o=e[t];for(let a=0;a<o.length;++a)o[a].callback===n&&o.splice(a,1)}return i},fire:function(t){const n=e[t];if(!n)return i;let s;arguments.length>1&&(s=Array.prototype.slice.call(arguments,1));for(let r=0;r<n.length;++r){const o=n[r];o.callback.apply(o.ctx,s)}return i}}}function eb(i){if(!i)throw new Error("Eventify cannot use falsy object as events subject");const e=["on","fire","off"];for(let t=0;t<e.length;++t)if(i.hasOwnProperty(e[t]))throw new Error("Subject cannot be eventified, since it already has property '"+e[t]+"'")}function tb(i){if(i=i||{},"uniqueLinkId"in i&&(console.warn("ngraph.graph: Starting from version 0.14 `uniqueLinkId` is deprecated.\nUse `multigraph` option instead\n",`
2
2
  `,`Note: there is also change in default behavior: From now on each graph
3
3
  is considered to be not a multigraph by default (each edge is unique).`),i.multigraph=i.uniqueLinkId),i.multigraph===void 0&&(i.multigraph=!1),typeof Map!="function")throw new Error("ngraph.graph requires `Map` to be defined. Please polyfill it before using ngraph");var e=new Map,t=new Map,n={},s=0,r=i.multigraph?S:T,o=[],a=F,u=F,l=F,c=F,d={version:20,addNode:g,addLink:_,removeLink:P,removeNode:y,getNode:m,getNodeCount:N,getLinkCount:R,getEdgeCount:R,getLinksCount:R,getNodesCount:N,getLinks:v,forEachNode:ve,forEachLinkedNode:se,forEachLink:re,beginUpdate:l,endUpdate:c,clear:ee,hasLink:L,hasNode:m,getLink:L,getLinkById:j};return Zy(d),h(),d;function h(){var I=d.on;d.on=H;function H(){return d.beginUpdate=l=G,d.endUpdate=c=Q,a=f,u=p,d.on=I,I.apply(d,arguments)}}function f(I,H){o.push({link:I,changeType:H})}function p(I,H){o.push({node:I,changeType:H})}function g(I,H){if(I===void 0)throw new Error("Invalid node identifier");l();var le=m(I);return le?(le.data=H,u(le,"update")):(le=new nb(I,H),u(le,"add")),e.set(I,le),c(),le}function m(I){return e.get(I)}function y(I){var H=m(I);if(!H)return!1;l();var le=H.links;return le&&(le.forEach(D),H.links=null),e.delete(I),u(H,"remove"),c(),!0}function _(I,H,le){l();var Ce=m(I)||g(I),B=m(H)||g(H),U=r(I,H,le),K=t.has(U.id);return t.set(U.id,U),Tc(Ce,U),I!==H&&Tc(B,U),a(U,K?"update":"add"),c(),U}function T(I,H,le){var Ce=hi(I,H),B=t.get(Ce);return B?(B.data=le,B):new vc(I,H,le,Ce)}function S(I,H,le){var Ce=hi(I,H),B=n.hasOwnProperty(Ce);if(B||L(I,H)){B||(n[Ce]=0);var U="@"+ ++n[Ce];Ce=hi(I+U,H+U)}return new vc(I,H,le,Ce)}function N(){return e.size}function R(){return t.size}function v(I){var H=m(I);return H?H.links:null}function P(I,H){return H!==void 0&&(I=L(I,H)),D(I)}function D(I){if(!I||!t.get(I.id))return!1;l(),t.delete(I.id);var H=m(I.fromId),le=m(I.toId);return H&&H.links.delete(I),le&&le.links.delete(I),a(I,"remove"),c(),!0}function L(I,H){if(!(I===void 0||H===void 0))return t.get(hi(I,H))}function j(I){if(I!==void 0)return t.get(I)}function ee(){l(),ve(function(I){y(I.id)}),c()}function re(I){if(typeof I=="function")for(var H=t.values(),le=H.next();!le.done;){if(I(le.value))return!0;le=H.next()}}function se(I,H,le){var Ce=m(I);if(Ce&&Ce.links&&typeof H=="function")return le?oe(Ce.links,I,H):Z(Ce.links,I,H)}function Z(I,H,le){for(var Ce,B=I.values(),U=B.next();!U.done;){var K=U.value,me=K.fromId===H?K.toId:K.fromId;if(Ce=le(e.get(me),K),Ce)return!0;U=B.next()}}function oe(I,H,le){for(var Ce,B=I.values(),U=B.next();!U.done;){var K=U.value;if(K.fromId===H&&(Ce=le(e.get(K.toId),K),Ce))return!0;U=B.next()}}function F(){}function G(){s+=1}function Q(){s-=1,s===0&&o.length>0&&(d.fire("changed",o),o.length=0)}function ve(I){if(typeof I!="function")throw new Error("Function is expected to iterate over graph nodes. You passed "+I);for(var H=e.values(),le=H.next();!le.done;){if(I(le.value))return!0;le=H.next()}}}function nb(i,e){this.id=i,this.links=null,this.data=e}function Tc(i,e){i.links?i.links.add(e):i.links=new Set([e])}function vc(i,e,t,n){this.fromId=i,this.toId=e,this.data=t,this.id=n}function hi(i,e){return i.toString()+"👉 "+e.toString()}var fi={exports:{}},Cs={exports:{}},ua,Sc;function Uf(){return Sc||(Sc=1,ua=function(e){return e===0?"x":e===1?"y":e===2?"z":"c"+(e+1)}),ua}var la,Nc;function ar(){if(Nc)return la;Nc=1;const i=Uf();return la=function(t){return n;function n(s,r){let o=r&&r.indent||0,a=r&&r.join!==void 0?r.join:`
4
4
  `,u=Array(o+1).join(" "),l=[];for(let c=0;c<t;++c){let d=i(c),h=c===0?"":u;l.push(h+s.replace(/{var}/g,d))}return l.join(a)}},la}var Rc;function sb(){if(Rc)return Cs.exports;Rc=1;const i=ar();Cs.exports=e,Cs.exports.generateCreateBodyFunctionBody=t,Cs.exports.getVectorCode=s,Cs.exports.getBodyCode=n;function e(r,o){let a=t(r,o),{Body:u}=new Function(a)();return u}function t(r,o){return`