@haibun/core 3.3.0 → 3.4.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.
Files changed (95) hide show
  1. package/build/applyEffectFeatures.d.ts +4 -0
  2. package/build/applyEffectFeatures.d.ts.map +1 -0
  3. package/build/applyEffectFeatures.js +34 -0
  4. package/build/applyEffectFeatures.js.map +1 -0
  5. package/build/currentVersion.d.ts +1 -1
  6. package/build/currentVersion.js +1 -1
  7. package/build/lib/EventLogger.d.ts +1 -1
  8. package/build/lib/EventLogger.d.ts.map +1 -1
  9. package/build/lib/EventLogger.js.map +1 -1
  10. package/build/lib/Logger.d.ts +46 -0
  11. package/build/lib/Logger.d.ts.map +1 -0
  12. package/build/lib/Logger.js +80 -0
  13. package/build/lib/Logger.js.map +1 -0
  14. package/build/lib/TestLogger.d.ts +11 -0
  15. package/build/lib/TestLogger.d.ts.map +1 -0
  16. package/build/lib/TestLogger.js +11 -0
  17. package/build/lib/TestLogger.js.map +1 -0
  18. package/build/lib/Timer.d.ts +7 -0
  19. package/build/lib/Timer.d.ts.map +1 -0
  20. package/build/lib/Timer.js +9 -0
  21. package/build/lib/Timer.js.map +1 -0
  22. package/build/lib/core/flow-runner.d.ts.map +1 -1
  23. package/build/lib/core/flow-runner.js +3 -1
  24. package/build/lib/core/flow-runner.js.map +1 -1
  25. package/build/lib/core-domains.d.ts.map +1 -1
  26. package/build/lib/core-domains.js +6 -1
  27. package/build/lib/core-domains.js.map +1 -1
  28. package/build/lib/defs.d.ts +2 -0
  29. package/build/lib/defs.d.ts.map +1 -1
  30. package/build/lib/defs.js.map +1 -1
  31. package/build/lib/domain-types.d.ts +1 -0
  32. package/build/lib/domain-types.d.ts.map +1 -1
  33. package/build/lib/domain-types.js +2 -1
  34. package/build/lib/domain-types.js.map +1 -1
  35. package/build/lib/feature-variables.d.ts +54 -3
  36. package/build/lib/feature-variables.d.ts.map +1 -1
  37. package/build/lib/feature-variables.js +139 -7
  38. package/build/lib/feature-variables.js.map +1 -1
  39. package/build/lib/http-observations.d.ts.map +1 -1
  40. package/build/lib/http-observations.js +19 -0
  41. package/build/lib/http-observations.js.map +1 -1
  42. package/build/lib/interfaces/logger.d.ts +105 -0
  43. package/build/lib/interfaces/logger.d.ts.map +1 -0
  44. package/build/lib/interfaces/logger.js +18 -0
  45. package/build/lib/interfaces/logger.js.map +1 -0
  46. package/build/lib/prompter.d.ts.map +1 -1
  47. package/build/lib/prompter.js +4 -0
  48. package/build/lib/prompter.js.map +1 -1
  49. package/build/lib/quad-store.d.ts +17 -0
  50. package/build/lib/quad-store.d.ts.map +1 -0
  51. package/build/lib/quad-store.js +60 -0
  52. package/build/lib/quad-store.js.map +1 -0
  53. package/build/lib/quad-types.d.ts +33 -0
  54. package/build/lib/quad-types.d.ts.map +1 -0
  55. package/build/lib/quad-types.js +7 -0
  56. package/build/lib/quad-types.js.map +1 -0
  57. package/build/lib/util/featureStep-executor.d.ts +6 -0
  58. package/build/lib/util/featureStep-executor.d.ts.map +1 -0
  59. package/build/lib/util/featureStep-executor.js +39 -0
  60. package/build/lib/util/featureStep-executor.js.map +1 -0
  61. package/build/phases/Executor.d.ts +7 -0
  62. package/build/phases/Executor.d.ts.map +1 -1
  63. package/build/phases/Executor.js +21 -10
  64. package/build/phases/Executor.js.map +1 -1
  65. package/build/schema/protocol.d.ts +6 -6
  66. package/build/schema/protocol.d.ts.map +1 -1
  67. package/build/schema/protocol.js +14 -9
  68. package/build/schema/protocol.js.map +1 -1
  69. package/build/steps/console-monitor-stepper.d.ts.map +1 -1
  70. package/build/steps/console-monitor-stepper.js.map +1 -1
  71. package/build/steps/debugger-stepper.d.ts +3 -3
  72. package/build/steps/debugger-stepper.d.ts.map +1 -1
  73. package/build/steps/debugger-stepper.js.map +1 -1
  74. package/build/steps/haibun.d.ts +9 -5
  75. package/build/steps/haibun.d.ts.map +1 -1
  76. package/build/steps/haibun.js +23 -8
  77. package/build/steps/haibun.js.map +1 -1
  78. package/build/steps/logic-stepper.d.ts +13 -0
  79. package/build/steps/logic-stepper.d.ts.map +1 -1
  80. package/build/steps/logic-stepper.js +18 -4
  81. package/build/steps/logic-stepper.js.map +1 -1
  82. package/build/steps/narrator.d.ts +4 -4
  83. package/build/steps/parse.d.ts +5 -7
  84. package/build/steps/parse.d.ts.map +1 -1
  85. package/build/steps/parse.js +1 -2
  86. package/build/steps/parse.js.map +1 -1
  87. package/build/steps/variables-stepper.d.ts +25 -25
  88. package/build/steps/variables-stepper.d.ts.map +1 -1
  89. package/build/steps/variables-stepper.js +1 -9
  90. package/build/steps/variables-stepper.js.map +1 -1
  91. package/package.json +2 -2
  92. package/build/lib/step-trace.d.ts +0 -10
  93. package/build/lib/step-trace.d.ts.map +0 -1
  94. package/build/lib/step-trace.js +0 -3
  95. package/build/lib/step-trace.js.map +0 -1
@@ -1,32 +1,58 @@
1
+ /**
2
+ * FeatureVariables - QuadStore-backed variable storage
3
+ *
4
+ * Domain IS the predicate: (varName, domainType, value, shared)
5
+ * Example: (user_role, roles, "admin", shared)
6
+ *
7
+ * This enables semantic queries: queryQuads({ predicate: 'roles' })
8
+ */
1
9
  import { isLiteralValue } from "./util/index.js";
2
10
  import { Origin } from '../schema/protocol.js';
3
11
  import { DOMAIN_JSON, DOMAIN_STRING, normalizeDomainKey } from "./domain-types.js";
12
+ import { QuadStore } from "./quad-store.js";
13
+ export const SHARED_GRAPH = 'variables';
14
+ export const META_GRAPH = 'meta';
15
+ export const OBSERVATION_GRAPH = 'observation';
4
16
  export class FeatureVariables {
5
17
  world;
18
+ store;
19
+ // Keep the in-memory values map for backward compatibility
6
20
  values;
7
21
  constructor(world, initial) {
8
22
  this.world = world;
9
- this.values = initial || {};
23
+ this.store = new QuadStore();
24
+ this.values = initial ? { ...initial } : {};
25
+ // Also store initial values as quads
26
+ if (initial) {
27
+ for (const [name, sv] of Object.entries(initial)) {
28
+ this.storeAsQuad(name, sv);
29
+ }
30
+ }
31
+ }
32
+ /** Get the underlying QuadStore for direct queries */
33
+ getStore() {
34
+ return this.store;
10
35
  }
11
36
  clear() {
12
37
  this.values = {};
38
+ this.store.clear(SHARED_GRAPH);
13
39
  }
14
40
  all() {
15
41
  return { ...this.values };
16
42
  }
17
43
  toString() {
18
- return `context ${this.world.tag} values ${this.values}`;
44
+ return `tag ${this.world.tag} values ${Object.keys(this.values).length}`;
19
45
  }
20
46
  setJSON(label, value, origin, source) {
21
47
  this.set({ term: label, value: JSON.stringify(value), domain: DOMAIN_JSON, origin }, { in: source.in, seq: source.seqPath, when: `${source.action.stepperName}.${source.action.actionName}` });
22
48
  }
23
- setForStepper(stepper, sv, provenance) {
24
- return this._set({ ...sv, term: `${stepper}.${sv.term}` }, provenance);
49
+ setForStepper(stepper, sv, provenance, namedGraph) {
50
+ return this._set({ ...sv, term: `${stepper}.${sv.term}` }, provenance, namedGraph);
25
51
  }
26
52
  unset(name) {
27
53
  delete this.values[name];
28
54
  }
29
- set(sv, provenance) {
55
+ set(sv, provenance, namedGraph) {
30
56
  if (sv.term.match(/.*\..*/)) {
31
57
  throw Error('non-stepper variables cannot use dots');
32
58
  }
@@ -36,9 +62,9 @@ export class FeatureVariables {
36
62
  if (this.values[sv.term]?.readonly) {
37
63
  throw Error(`Cannot overwrite read-only variable "${sv.term}"`);
38
64
  }
39
- return this._set(sv, provenance);
65
+ return this._set(sv, provenance, namedGraph);
40
66
  }
41
- _set(sv, provenance) {
67
+ _set(sv, provenance, namedGraph = SHARED_GRAPH) {
42
68
  const domainKey = normalizeDomainKey(sv.domain);
43
69
  const domain = this.world.domains[domainKey];
44
70
  if (domain === undefined) {
@@ -48,10 +74,53 @@ export class FeatureVariables {
48
74
  domain.coerce(normalized);
49
75
  const existingProvenance = this.values[sv.term]?.provenance;
50
76
  const provenances = existingProvenance ? [...existingProvenance, provenance] : [provenance];
77
+ // Store in values map (keeps existing behavior)
51
78
  this.values[sv.term] = {
52
79
  ...normalized,
53
80
  provenance: provenances
54
81
  };
82
+ // Store as quad with domain as predicate
83
+ this.storeAsQuad(sv.term, { ...normalized, provenance: provenances }, namedGraph);
84
+ // Emit quad observation event for real-time graph building
85
+ const timestamp = Date.now();
86
+ this.world.eventLogger?.emit({
87
+ id: `quad-${timestamp}`,
88
+ timestamp,
89
+ source: 'haibun',
90
+ level: 'debug',
91
+ kind: 'artifact',
92
+ artifactType: 'json',
93
+ mimetype: 'application/json',
94
+ json: {
95
+ quadObservation: {
96
+ subject: sv.term,
97
+ predicate: domainKey, // Domain IS the predicate
98
+ object: normalized.value,
99
+ namedGraph,
100
+ // Move provenance to separate quads in meta namedGraph, don't embed
101
+ }
102
+ },
103
+ });
104
+ // Emit meta quads for origin/provenance/readonly if present
105
+ if (sv.origin) {
106
+ this.world.eventLogger?.emit({
107
+ id: `quad-meta-origin-${timestamp}`,
108
+ timestamp,
109
+ source: 'haibun',
110
+ level: 'debug',
111
+ kind: 'artifact',
112
+ artifactType: 'json',
113
+ mimetype: 'application/json',
114
+ json: {
115
+ quadObservation: {
116
+ subject: sv.term,
117
+ predicate: 'origin',
118
+ object: sv.origin,
119
+ namedGraph: META_GRAPH,
120
+ }
121
+ },
122
+ });
123
+ }
55
124
  }
56
125
  get(name) {
57
126
  if (!this.values[name])
@@ -175,5 +244,68 @@ export class FeatureVariables {
175
244
  .map(v => v.value);
176
245
  return { values: memberValues };
177
246
  }
247
+ // =========================================================================
248
+ // QuadStore-specific methods for first-order logic integration
249
+ // =========================================================================
250
+ /**
251
+ * Query quads. The predicate IS the domain type.
252
+ * Example: queryQuads({ predicate: 'roles' }) to find all role-typed values.
253
+ */
254
+ queryQuads(pattern) {
255
+ const queryPattern = { ...pattern, namedGraph: pattern.namedGraph };
256
+ return this.store.query(queryPattern);
257
+ }
258
+ /** Check existence of a quad */
259
+ existsQuad(pattern) {
260
+ return this.queryQuads(pattern).length > 0;
261
+ }
262
+ /** Count quads matching pattern */
263
+ countQuads(pattern) {
264
+ return this.queryQuads(pattern).length;
265
+ }
266
+ /** Add a quad directly (for non-variable observations like HTTP traces) */
267
+ addQuad(quad) {
268
+ this.store.add(quad);
269
+ // Emit event for graph visualization
270
+ const timestamp = Date.now();
271
+ this.world.eventLogger?.emit({
272
+ id: `quad-${timestamp}-${quad.subject}-${quad.predicate}`,
273
+ timestamp,
274
+ source: 'haibun',
275
+ level: 'debug',
276
+ kind: 'artifact',
277
+ artifactType: 'json',
278
+ mimetype: 'application/json',
279
+ json: {
280
+ quadObservation: quad
281
+ },
282
+ });
283
+ }
284
+ /** Remove quads matching a pattern */
285
+ removeQuad(pattern) {
286
+ this.store.remove(pattern);
287
+ }
288
+ /** Get all quads */
289
+ allQuads() {
290
+ return this.store.all();
291
+ }
292
+ // =========================================================================
293
+ // Private helpers
294
+ // =========================================================================
295
+ storeAsQuad(name, sv, namedGraph = SHARED_GRAPH) {
296
+ const domainKey = normalizeDomainKey(sv.domain);
297
+ // Domain IS the predicate: (name, domainType, value, shared)
298
+ this.store.add({ subject: name, predicate: domainKey, object: sv.value, namedGraph });
299
+ // Store metadata as separate quads in META namedGraph
300
+ if (sv.origin) {
301
+ this.store.add({ subject: name, predicate: 'origin', object: sv.origin, namedGraph: META_GRAPH });
302
+ }
303
+ if (sv.provenance) {
304
+ this.store.add({ subject: name, predicate: 'provenance', object: sv.provenance, namedGraph: META_GRAPH });
305
+ }
306
+ if (sv.readonly) {
307
+ this.store.add({ subject: name, predicate: 'readonly', object: true, namedGraph: META_GRAPH });
308
+ }
309
+ }
178
310
  }
179
311
  //# sourceMappingURL=feature-variables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-variables.js","sourceRoot":"","sources":["../../src/lib/feature-variables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-variables.js","sourceRoot":"","sources":["../../src/lib/feature-variables.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAA4D,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAE/C,MAAM,OAAO,gBAAgB;IAKR;IAJZ,KAAK,CAAa;IAC1B,2DAA2D;IACnD,MAAM,CAAkC;IAEhD,YAAoB,KAAa,EAAE,OAAyC;QAAxD,UAAK,GAAL,KAAK,CAAQ;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5C,qCAAqC;QACrC,IAAI,OAAO,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;IACF,CAAC;IAED,sDAAsD;IACtD,QAAQ;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,GAAG;QACF,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,QAAQ;QACP,OAAO,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1E,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,MAAe,EAAE,MAAoB;QAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChM,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,EAAc,EAAE,UAAiC,EAAE,UAAmB;QACpG,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,GAAG,CAAC,EAAc,EAAE,UAAiC,EAAE,UAAmB;QACzE,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,KAAK,CAAC,0CAA0C,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC,wCAAwC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,EAAc,EAAE,UAAiC,EAAE,aAAqB,YAAY;QACxF,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,wBAAwB,EAAE,CAAC,IAAI,sBAAsB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,kBAAkB,GAA4B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;QACrF,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAE5F,gDAAgD;QAChD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;YACtB,GAAG,UAAU;YACb,UAAU,EAAE,WAAW;SACvB,CAAC;QAEF,yCAAyC;QACzC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;QAElF,2DAA2D;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;YAC5B,EAAE,EAAE,QAAQ,SAAS,EAAE;YACvB,SAAS;YACT,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,OAAgB;YACvB,IAAI,EAAE,UAAmB;YACzB,YAAY,EAAE,MAAe;YAC7B,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE;gBACL,eAAe,EAAE;oBAChB,OAAO,EAAE,EAAE,CAAC,IAAI;oBAChB,SAAS,EAAE,SAAS,EAAG,0BAA0B;oBACjD,MAAM,EAAE,UAAU,CAAC,KAAK;oBACxB,UAAU;oBACV,oEAAoE;iBACpE;aACD;SACD,CAAC,CAAC;QAEH,4DAA4D;QAC5D,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;gBAC5B,EAAE,EAAE,oBAAoB,SAAS,EAAE;gBACnC,SAAS;gBACT,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,OAAgB;gBACvB,IAAI,EAAE,UAAmB;gBACzB,YAAY,EAAE,MAAe;gBAC7B,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE;oBACL,eAAe,EAAE;wBAChB,OAAO,EAAE,EAAE,CAAC,IAAI;wBAChB,SAAS,EAAE,QAAQ;wBACnB,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,UAAU,EAAE,UAAU;qBACtB;iBACD;aACD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,GAAG,CAAI,IAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,KAAK,CAAC,yBAAyB,IAAI,sBAAsB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,GAAG,GAAM,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO,CAAI,IAAY;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;YAAE,MAAM,KAAK,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAe,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,KAAyD,EAAE,WAA0B,EAAE,QAAqB;QAC3H,MAAM,QAAQ,GAAwB;YACrC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,SAAS;SAChB,CAAC;QAEF,8DAA8D;QAC9D,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YACxD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5B,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;YACxC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB;YACnF,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,WAAW,EAAE,CAAC;gBACjB,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBACrC,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBACnC,QAAQ,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YAC9C,CAAC;QACF,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,WAAW,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1D,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACrD,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;gBAChC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;YAC9B,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC7D,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;gBAChC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;YAC9B,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACxB,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBACnC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBACrC,QAAQ,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;gBAC7C,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;YAC9B,CAAC;iBAAM,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,0EAA0E;gBAC1E,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC5B,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;YACjC,CAAC;YACD,yFAAyF;YACzF,wDAAwD;QACzD,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3C,iEAAiE;YACjE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzF,IAAI,WAAW,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC1D,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACrD,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;oBAChC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;gBAC9B,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACxB,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;oBACnC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;oBACrC,QAAQ,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;oBAC7C,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;gBAC9B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAClD,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;YACjC,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClC,4EAA4E;YAC5E,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,aAAa,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,IAAI,sBAAsB,SAAS,GAAG,CAAC,CAAC;YAC3F,CAAC;YACD,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YACxG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,OAAO,QAAsB,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,UAAkB;QACjC,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,UAAU,kBAAkB,EAAE,CAAC;QACvE,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;aACnE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEpB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACjC,CAAC;IAED,4EAA4E;IAC5E,+DAA+D;IAC/D,4EAA4E;IAE5E;;;OAGG;IACH,UAAU,CAAC,OAAwF;QAClG,MAAM,YAAY,GAA4B,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,gCAAgC;IAChC,UAAU,CAAC,OAAwF;QAClG,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,mCAAmC;IACnC,UAAU,CAAC,OAAwF;QAClG,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IAED,2EAA2E;IAC3E,OAAO,CAAC,IAA8B;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAErB,qCAAqC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;YAC5B,EAAE,EAAE,QAAQ,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YACzD,SAAS;YACT,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,OAAgB;YACvB,IAAI,EAAE,UAAmB;YACzB,YAAY,EAAE,MAAe;YAC7B,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE;gBACL,eAAe,EAAE,IAAI;aACrB;SAEe,CAAC,CAAC;IACpB,CAAC;IAED,sCAAsC;IACtC,UAAU,CAAC,OAAwF;QAClG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,oBAAoB;IACpB,QAAQ;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAEpE,WAAW,CAAC,IAAY,EAAE,EAAc,EAAE,aAAqB,YAAY;QAClF,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAChD,6DAA6D;QAC7D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAEtF,sDAAsD;QACtD,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QAChG,CAAC;IACF,CAAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-observations.d.ts","sourceRoot":"","sources":["../../src/lib/http-observations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,iDAAiD;AACjD,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAa9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,GAAG,IAAI,CAS1F"}
1
+ {"version":3,"file":"http-observations.d.ts","sourceRoot":"","sources":["../../src/lib/http-observations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,iDAAiD;AACjD,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAa9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,GAAG,IAAI,CA6B1F"}
@@ -36,5 +36,24 @@ export function trackHttpRequest(world, observation) {
36
36
  const id = `req-${count + 1}`;
37
37
  requests.set(id, observation);
38
38
  world.runtime.observations.set('httpRequests', requests);
39
+ // Emit quadObservation with hierarchical context for graph visualization
40
+ const timestamp = Date.now();
41
+ world.eventLogger.emit({
42
+ id: `quad-http-${timestamp}-${id}`,
43
+ timestamp,
44
+ source: 'haibun',
45
+ level: 'debug',
46
+ kind: 'artifact',
47
+ artifactType: 'json',
48
+ mimetype: 'application/json',
49
+ json: {
50
+ quadObservation: {
51
+ subject: id,
52
+ predicate: 'time',
53
+ object: observation.time,
54
+ namedGraph: 'observation/http',
55
+ }
56
+ },
57
+ });
39
58
  }
40
59
  //# sourceMappingURL=http-observations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-observations.js","sourceRoot":"","sources":["../../src/lib/http-observations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,GAAW;IACtD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAChC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,SAAS,GAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAyB,IAAI,IAAI,GAAG,EAAkB,CAAC;QACpH,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,WAAoC;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,QAAQ,GAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAA0C,IAAI,IAAI,GAAG,EAAmC,CAAC;IACxJ,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,MAAM,EAAE,GAAG,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC9B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"http-observations.js","sourceRoot":"","sources":["../../src/lib/http-observations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,GAAW;IACtD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAChC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,SAAS,GAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAyB,IAAI,IAAI,GAAG,EAAkB,CAAC;QACpH,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,WAAoC;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,QAAQ,GAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAA0C,IAAI,IAAI,GAAG,EAAmC,CAAC;IACxJ,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,MAAM,EAAE,GAAG,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC9B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAEzD,yEAAyE;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QACrB,EAAE,EAAE,aAAa,SAAS,IAAI,EAAE,EAAE;QAClC,SAAS;QACT,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAgB;QACvB,IAAI,EAAE,UAAmB;QACzB,YAAY,EAAE,MAAe;QAC7B,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE;YACJ,eAAe,EAAE;gBACf,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,MAAM;gBACjB,MAAM,EAAE,WAAW,CAAC,IAAI;gBACxB,UAAU,EAAE,kBAAkB;aAC/B;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { TResolvedFeature } from '../defs.js';
2
+ import { TAnyFixme } from '../fixme.js';
3
+ import { TTag } from '../ttag.js';
4
+ export type TLogLevel = 'none' | 'debug' | 'log' | 'info' | 'warn' | 'error';
5
+ export type TLogArgs = string;
6
+ export type TMessageContext = {
7
+ incident: EExecutionMessageType;
8
+ artifacts?: TArtifact[];
9
+ incidentDetails?: TAnyFixme;
10
+ tag?: TTag;
11
+ };
12
+ export type TLogHistory = {
13
+ message: TLogArgs;
14
+ level: TLogLevel;
15
+ caller: string;
16
+ messageContext: TMessageContext;
17
+ };
18
+ export declare enum EExecutionMessageType {
19
+ INIT = "INIT",
20
+ EXECUTION_START = "EXECUTION_START",
21
+ FEATURE_START = "FEATURE_START",
22
+ SCENARIO_START = "SCENARIO_START",
23
+ STEP_START = "STEP_START",
24
+ STEP_NEXT = "STEP_NEXT",
25
+ ACTION = "ACTION",
26
+ TRACE = "TRACE",
27
+ STEP_END = "STEP_END",
28
+ SCENARIO_END = "SCENARIO_END",
29
+ FEATURE_END = "FEATURE_END",
30
+ EXECUTION_END = "EXECUTION_END",
31
+ ON_FAILURE = "ON_FAILURE",
32
+ DEBUG = "DEBUG"
33
+ }
34
+ export interface ILogger {
35
+ debug: (what: TLogArgs, ctx?: TMessageContext) => void;
36
+ log: (what: TLogArgs, ctx?: TMessageContext) => void;
37
+ info: (what: TLogArgs, ctx?: TMessageContext) => void;
38
+ warn: (what: TLogArgs, ctx?: TMessageContext) => void;
39
+ error: (what: TLogArgs, ctx?: TMessageContext) => void;
40
+ addSubscriber: (subscriber: ILogOutput) => void;
41
+ removeSubscriber: (subscriber: ILogOutput) => void;
42
+ }
43
+ export interface ILogOutput {
44
+ out: (level: TLogLevel, args: TLogArgs, ctx?: TMessageContext) => void;
45
+ }
46
+ export type TOutputEnv = {
47
+ output: ILogOutput;
48
+ tag: TTag;
49
+ };
50
+ export type TArtifact = (TArtifactSpeech | TArtifactVideo | TArtifactResolvedFeatures | TArtifactVideoStart | TArtifactImage | TArtifactHTML | TArtifactJSON | TArtifactHTTPTrace);
51
+ export type TArtifactSpeech = {
52
+ artifactType: 'speech';
53
+ transcript: string;
54
+ durationS: number;
55
+ path: string;
56
+ };
57
+ export type TArtifactResolvedFeatures = {
58
+ artifactType: 'resolvedFeatures';
59
+ resolvedFeatures: TResolvedFeature[];
60
+ index?: number;
61
+ path: string;
62
+ };
63
+ export type TArtifactVideo = {
64
+ artifactType: 'video';
65
+ path: string;
66
+ };
67
+ export type TArtifactVideoStart = {
68
+ artifactType: 'video/start';
69
+ start: number;
70
+ };
71
+ export type TArtifactImage = {
72
+ artifactType: 'image';
73
+ path: string;
74
+ };
75
+ export type TArtifactHTML = TArtifactHTMLWithHtml | TArtifactHTMLWithPath;
76
+ type TArtifactHTMLWithHtml = {
77
+ artifactType: 'html';
78
+ html: string;
79
+ };
80
+ type TArtifactHTMLWithPath = {
81
+ artifactType: 'html';
82
+ path: string;
83
+ };
84
+ export type TArtifactJSON = {
85
+ artifactType: 'json';
86
+ json: object;
87
+ };
88
+ export type TArtifactHTTPTrace = {
89
+ artifactType: 'json/http/trace';
90
+ httpEvent: 'response' | 'request' | 'route';
91
+ trace: THTTPTraceContent;
92
+ };
93
+ export type TArtifactType = TArtifact['artifactType'];
94
+ export type THTTPTraceContent = {
95
+ frameURL?: string;
96
+ requestingPage?: string;
97
+ requestingURL?: string;
98
+ method?: string;
99
+ headers?: Record<string, string>;
100
+ postData?: unknown;
101
+ status?: number;
102
+ statusText?: string;
103
+ };
104
+ export {};
105
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export var EExecutionMessageType;
2
+ (function (EExecutionMessageType) {
3
+ EExecutionMessageType["INIT"] = "INIT";
4
+ EExecutionMessageType["EXECUTION_START"] = "EXECUTION_START";
5
+ EExecutionMessageType["FEATURE_START"] = "FEATURE_START";
6
+ EExecutionMessageType["SCENARIO_START"] = "SCENARIO_START";
7
+ EExecutionMessageType["STEP_START"] = "STEP_START";
8
+ EExecutionMessageType["STEP_NEXT"] = "STEP_NEXT";
9
+ EExecutionMessageType["ACTION"] = "ACTION";
10
+ EExecutionMessageType["TRACE"] = "TRACE";
11
+ EExecutionMessageType["STEP_END"] = "STEP_END";
12
+ EExecutionMessageType["SCENARIO_END"] = "SCENARIO_END";
13
+ EExecutionMessageType["FEATURE_END"] = "FEATURE_END";
14
+ EExecutionMessageType["EXECUTION_END"] = "EXECUTION_END";
15
+ EExecutionMessageType["ON_FAILURE"] = "ON_FAILURE";
16
+ EExecutionMessageType["DEBUG"] = "DEBUG";
17
+ })(EExecutionMessageType || (EExecutionMessageType = {}));
18
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/interfaces/logger.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAN,IAAY,qBAeX;AAfD,WAAY,qBAAqB;IAChC,sCAAa,CAAA;IACb,4DAAmC,CAAA;IACnC,wDAA+B,CAAA;IAC/B,0DAAiC,CAAA;IACjC,kDAAyB,CAAA;IACzB,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;IACjB,wCAAe,CAAA;IACf,8CAAqB,CAAA;IACrB,sDAA6B,CAAA;IAC7B,oDAA2B,CAAA;IAC3B,wDAA+B,CAAA;IAC/B,kDAAyB,CAAA;IACzB,wCAAe,CAAA;AAChB,CAAC,EAfW,qBAAqB,KAArB,qBAAqB,QAehC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompter.d.ts","sourceRoot":"","sources":["../../src/lib/prompter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,MAAM,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAC/F,MAAM,WAAW,SAAS;IACzB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1D,qBAAa,QAAQ;IACpB;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAwG;IAClI,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAY;gBAEhC,WAAW,GAAE,SAAS,EAA6B;IAK/D,SAAS,CAAC,CAAC,EAAE,SAAS;IAGtB,WAAW,CAAC,CAAC,EAAE,SAAS;IAKlB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBvD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAKlC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAK1C,kBAAkB;CAGlB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAE5F"}
1
+ {"version":3,"file":"prompter.d.ts","sourceRoot":"","sources":["../../src/lib/prompter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,MAAM,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAC/F,MAAM,WAAW,SAAS;IACzB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1D,qBAAa,QAAQ;IACpB;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAwG;IAClI,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAY;gBAEhC,WAAW,GAAE,SAAS,EAA6B;IAK/D,SAAS,CAAC,CAAC,EAAE,SAAS;IAGtB,WAAW,CAAC,CAAC,EAAE,SAAS;IAKlB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IA4BvD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAKlC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAK1C,kBAAkB;CAGlB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAE5F"}
@@ -37,6 +37,10 @@ export class Prompter {
37
37
  resolve(undefined);
38
38
  }
39
39
  }
40
+ }).catch(() => {
41
+ console.log('ABC another prompter cancelled');
42
+ // Ignore rejections from cancelled prompts - this is expected when another
43
+ // subscriber responds first and we cancel all other subscribers
40
44
  });
41
45
  }
42
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"prompter.js","sourceRoot":"","sources":["../../src/lib/prompter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompter.js","sourceRoot":"","sources":["../../src/lib/prompter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * QuadStore - In-memory quad store for observations
3
+ *
4
+ * Stores observations as Subject-Predicate-Object-namedGraph quads with timestamps.
5
+ * This is the unified data model for all shared state in Haibun.
6
+ */
7
+ import { IQuadStore, TQuad, TQuadPattern } from './quad-types.js';
8
+ export declare class QuadStore implements IQuadStore {
9
+ private quads;
10
+ add(quad: Omit<TQuad, 'timestamp'>): void;
11
+ query(pattern: TQuadPattern): TQuad[];
12
+ select(subject: string, predicate: string): unknown | undefined;
13
+ clear(namedGraph?: string): void;
14
+ remove(pattern: TQuadPattern): void;
15
+ all(): TQuad[];
16
+ }
17
+ //# sourceMappingURL=quad-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quad-store.d.ts","sourceRoot":"","sources":["../../src/lib/quad-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAElE,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,KAAK,CAAe;IAE5B,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,IAAI;IAOzC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,KAAK,EAAE;IAUrC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAO/D,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAQhC,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAUnC,GAAG,IAAI,KAAK,EAAE;CAGf"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * QuadStore - In-memory quad store for observations
3
+ *
4
+ * Stores observations as Subject-Predicate-Object-namedGraph quads with timestamps.
5
+ * This is the unified data model for all shared state in Haibun.
6
+ */
7
+ export class QuadStore {
8
+ quads = [];
9
+ add(quad) {
10
+ this.quads.push({
11
+ ...quad,
12
+ timestamp: Date.now(),
13
+ });
14
+ }
15
+ query(pattern) {
16
+ return this.quads.filter(q => {
17
+ if (pattern.subject !== undefined && q.subject !== pattern.subject)
18
+ return false;
19
+ if (pattern.predicate !== undefined && q.predicate !== pattern.predicate)
20
+ return false;
21
+ if (pattern.object !== undefined && q.object !== pattern.object)
22
+ return false;
23
+ if (pattern.namedGraph !== undefined && q.namedGraph !== pattern.namedGraph)
24
+ return false;
25
+ return true;
26
+ });
27
+ }
28
+ select(subject, predicate) {
29
+ const matches = this.query({ subject, predicate });
30
+ if (matches.length === 0)
31
+ return undefined;
32
+ // Return most recent
33
+ return matches[matches.length - 1].object;
34
+ }
35
+ clear(namedGraph) {
36
+ if (namedGraph) {
37
+ this.quads = this.quads.filter(q => q.namedGraph !== namedGraph);
38
+ }
39
+ else {
40
+ this.quads = [];
41
+ }
42
+ }
43
+ remove(pattern) {
44
+ this.quads = this.quads.filter(q => {
45
+ if (pattern.subject !== undefined && q.subject !== pattern.subject)
46
+ return true;
47
+ if (pattern.predicate !== undefined && q.predicate !== pattern.predicate)
48
+ return true;
49
+ if (pattern.object !== undefined && q.object !== pattern.object)
50
+ return true;
51
+ if (pattern.namedGraph !== undefined && q.namedGraph !== pattern.namedGraph)
52
+ return true;
53
+ return false; // Match found, filter it out
54
+ });
55
+ }
56
+ all() {
57
+ return [...this.quads];
58
+ }
59
+ }
60
+ //# sourceMappingURL=quad-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quad-store.js","sourceRoot":"","sources":["../../src/lib/quad-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,SAAS;IACZ,KAAK,GAAY,EAAE,CAAC;IAE5B,GAAG,CAAC,IAA8B;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,GAAG,IAAI;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAqB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAC3B,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YACjF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YACvF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC9E,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC1F,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,SAAiB;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,qBAAqB;QACrB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,UAAmB;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAqB;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAChF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YACtF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC7E,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YACzF,OAAO,KAAK,CAAC,CAAC,6BAA6B;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * QuadStore Types for Core
3
+ *
4
+ * Minimal quad types for the unified observation model.
5
+ */
6
+ export interface TQuad {
7
+ subject: string;
8
+ predicate: string;
9
+ object: unknown;
10
+ namedGraph: string;
11
+ timestamp: number;
12
+ }
13
+ export interface TQuadPattern {
14
+ subject?: string;
15
+ predicate?: string;
16
+ object?: unknown;
17
+ namedGraph?: string;
18
+ }
19
+ export interface IQuadStore {
20
+ /** Add a quad to the store */
21
+ add(quad: Omit<TQuad, 'timestamp'>): void;
22
+ /** Query quads matching a pattern */
23
+ query(pattern: TQuadPattern): TQuad[];
24
+ /** Select the most recent value for a subject-predicate pair */
25
+ select(subject: string, predicate: string): unknown | undefined;
26
+ /** Clear quads, optionally filtered by namedGraph */
27
+ clear(namedGraph?: string): void;
28
+ /** Remove quads matching a pattern */
29
+ remove(pattern: TQuadPattern): void;
30
+ /** Get all quads */
31
+ all(): TQuad[];
32
+ }
33
+ //# sourceMappingURL=quad-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quad-types.d.ts","sourceRoot":"","sources":["../../src/lib/quad-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IAE1C,qCAAqC;IACrC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,KAAK,EAAE,CAAC;IAEtC,gEAAgE;IAChE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAEhE,qDAAqD;IACrD,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,sCAAsC;IACtC,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAEpC,oBAAoB;IACpB,GAAG,IAAI,KAAK,EAAE,CAAC;CAChB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * QuadStore Types for Core
3
+ *
4
+ * Minimal quad types for the unified observation model.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=quad-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quad-types.js","sourceRoot":"","sources":["../../src/lib/quad-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,6 @@
1
+ import { AStepper } from '../astepper.js';
2
+ import { TWorld, TStepResult, TFeatureStep, ExecMode } from '../defs.js';
3
+ export declare function resolveAndExecuteStatement(statement: string, base: string, steppers: AStepper[], world: TWorld, execMode: ExecMode, seqStart: number[]): Promise<TStepResult>;
4
+ export declare function doExecuteFeatureSteps(featureSteps: TFeatureStep[], steppers: AStepper[], world: TWorld, execMode?: ExecMode): Promise<TStepResult>;
5
+ export declare function findFeatureStepsFromStatement(statement: string, steppers: AStepper[], world: TWorld, base: string, seqStart: number[], inc?: number): TFeatureStep[];
6
+ //# sourceMappingURL=featureStep-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureStep-executor.d.ts","sourceRoot":"","sources":["../../../src/lib/util/featureStep-executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAY,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGnF,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAGnL;AAED,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA0B,GAAG,OAAO,CAAC,WAAW,CAAC,CAUzK;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,SAAI,GAAG,YAAY,EAAE,CAiB/J"}
@@ -0,0 +1,39 @@
1
+ import { getActionableStatement } from '../../phases/Resolver.js';
2
+ import { FeatureExecutor } from '../../phases/Executor.js';
3
+ import { ExecMode } from '../defs.js';
4
+ import { expandLine } from '../features.js';
5
+ export async function resolveAndExecuteStatement(statement, base, steppers, world, execMode, seqStart) {
6
+ const featureSteps = findFeatureStepsFromStatement(statement, steppers, world, base, seqStart);
7
+ return await doExecuteFeatureSteps(featureSteps, steppers, world, execMode);
8
+ }
9
+ export async function doExecuteFeatureSteps(featureSteps, steppers, world, execMode = ExecMode.CYCLES) {
10
+ let lastResult;
11
+ for (const x of featureSteps) {
12
+ lastResult = await FeatureExecutor.doFeatureStep(steppers, x, world, execMode);
13
+ if (execMode === ExecMode.CYCLES || execMode === ExecMode.PROMPT) {
14
+ world.runtime.stepResults.push(lastResult);
15
+ }
16
+ if (!lastResult.ok)
17
+ return lastResult;
18
+ }
19
+ return lastResult;
20
+ }
21
+ export function findFeatureStepsFromStatement(statement, steppers, world, base, seqStart, inc = 1) {
22
+ const featureSteps = [];
23
+ if (!world.runtime.backgrounds) {
24
+ throw new Error('runtime.backgrounds is undefined; cannot expand inline Backgrounds');
25
+ }
26
+ const backgroundFeature = { path: `from ${statement}`, base, name: 'inline-backgrounds', content: `Backgrounds: ${statement}` };
27
+ const expanded = expandLine(statement, world.runtime.backgrounds, backgroundFeature);
28
+ // Increment the last segment of seqStart by inc for each expanded step
29
+ const prefix = seqStart.slice(0, -1);
30
+ let latest = seqStart[seqStart.length - 1];
31
+ for (const x of expanded) {
32
+ const seqPath = [...prefix, latest];
33
+ const { featureStep } = getActionableStatement(steppers, x.line, x.feature.path, seqPath);
34
+ latest += inc;
35
+ featureSteps.push(featureStep);
36
+ }
37
+ return featureSteps;
38
+ }
39
+ //# sourceMappingURL=featureStep-executor.js.map