@timeback/caliper 0.1.7-beta.20260309185602 → 0.2.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.
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Event Factory Functions
3
3
  *
4
- * Pure factory functions for creating Timeback profile events.
4
+ * Pure factory functions for creating Caliper events.
5
5
  * Use these when you want to batch multiple events into a single envelope.
6
6
  */
7
- import type { ActivityCompletedEvent, ActivityCompletedInput, TimeSpentEvent, TimeSpentInput } from '../types';
7
+ import type { ActivityCompletedEvent, ActivityCompletedInput, AssessmentItemEvent, QuestionAnsweredInput, QuestionGradedInput, QuestionGradeEvent, QuestionSeenInput, TimeSpentEvent, TimeSpentInput } from '../types';
8
8
  /**
9
9
  * Create an ActivityEvent from input.
10
10
  *
@@ -64,4 +64,70 @@ export declare function createActivityEvent(input: ActivityCompletedInput): Acti
64
64
  * ```
65
65
  */
66
66
  export declare function createTimeSpentEvent(input: TimeSpentInput): TimeSpentEvent;
67
+ /**
68
+ * Create a Question Seen event (AssessmentItemEvent.Started).
69
+ *
70
+ * Fired when a question is presented to the student.
71
+ *
72
+ * @param input - Minimal question seen data
73
+ * @returns A fully-formed AssessmentItemEvent ready to send
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const event = createQuestionSeenEvent({
78
+ * actor: 'urn:uuid:student-123',
79
+ * object: { id: 'urn:uuid:q-456', name: 'What is 2+2?' },
80
+ * edApp: 'https://myapp.example.com',
81
+ * })
82
+ *
83
+ * await client.events.send(sensor, [event])
84
+ * ```
85
+ */
86
+ export declare function createQuestionSeenEvent(input: QuestionSeenInput): AssessmentItemEvent;
87
+ /**
88
+ * Create a Question Answered event (AssessmentItemEvent.Completed).
89
+ *
90
+ * Fired when a student submits an answer to a question.
91
+ *
92
+ * @param input - Minimal question answered data
93
+ * @returns A fully-formed AssessmentItemEvent ready to send
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * const event = createQuestionAnsweredEvent({
98
+ * actor: 'urn:uuid:student-123',
99
+ * object: { id: 'urn:uuid:q-456', name: 'What is 2+2?' },
100
+ * edApp: 'https://myapp.example.com',
101
+ * generated: {
102
+ * id: 'urn:uuid:response-789',
103
+ * attempt: 'urn:uuid:attempt-101',
104
+ * },
105
+ * })
106
+ *
107
+ * await client.events.send(sensor, [event])
108
+ * ```
109
+ */
110
+ export declare function createQuestionAnsweredEvent(input: QuestionAnsweredInput): AssessmentItemEvent;
111
+ /**
112
+ * Create a Question Graded event (GradeEvent.Graded).
113
+ *
114
+ * Fired when a question response is scored. The Score entity is auto-filled
115
+ * with `type: "Score"` and `scoreType: "QUESTION_RESULT"`.
116
+ *
117
+ * @param input - Minimal question graded data
118
+ * @returns A fully-formed QuestionGradeEvent ready to send
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * const event = createQuestionGradedEvent({
123
+ * actor: 'urn:uuid:student-123',
124
+ * object: 'urn:uuid:attempt-101',
125
+ * generated: { scoreGiven: 1, maxScore: 1, attempt: 'urn:uuid:attempt-101' },
126
+ * edApp: 'https://myapp.example.com',
127
+ * })
128
+ *
129
+ * await client.events.send(sensor, [event])
130
+ * ```
131
+ */
132
+ export declare function createQuestionGradedEvent(input: QuestionGradedInput): QuestionGradeEvent;
67
133
  //# sourceMappingURL=event-factories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-factories.d.ts","sourceRoot":"","sources":["../../src/lib/event-factories.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACX,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,GAAG,sBAAsB,CAwBzF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAsB1E"}
1
+ {"version":3,"file":"event-factories.d.ts","sourceRoot":"","sources":["../../src/lib/event-factories.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACX,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,GAAG,sBAAsB,CAwBzF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAsB1E;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,mBAAmB,CAcrF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,CAiB7F;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,kBAAkB,CAsBxF"}
@@ -4,4 +4,7 @@
4
4
  * @internal
5
5
  */
6
6
  export { Transport } from './transport';
7
+ export { Paginator } from './pagination';
8
+ export { createActivityEvent, createQuestionAnsweredEvent, createQuestionGradedEvent, createQuestionSeenEvent, createTimeSpentEvent, } from './event-factories';
9
+ export { LwaiEventTransformer } from './lwai-event-transformer';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EACN,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"lwai-event-transformer.d.ts","sourceRoot":"","sources":["../../src/lib/lwai-event-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAyBhD;;;;;;;;GAQG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC5D;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASpE;CACD"}
1
+ {"version":3,"file":"lwai-event-transformer.d.ts","sourceRoot":"","sources":["../../src/lib/lwai-event-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AA4BhD;;;;;;;;GAQG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC5D;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASpE;CACD"}
@@ -465,23 +465,28 @@ type CaliperProfile =
465
465
  | 'TimebackProfile'
466
466
 
467
467
  /**
468
- * Base Caliper entity - can be a URI string or an object with properties.
468
+ * Base Caliper entity representation.
469
+ *
470
+ * Many Caliper fields can be provided either as an IRI string or as an
471
+ * object-shaped entity, so the shared protocol model keeps this flexible.
469
472
  */
470
473
  type CaliperEntity = string | { [key: string]: unknown }
471
474
 
472
475
  /**
473
- * Caliper actor entity (for sending events).
476
+ * One actor-object shape for sending events.
474
477
  *
475
- * Timeback API requires actors to have extensions.email.
478
+ * This is a structured actor object with an `id`, a `type`, and an
479
+ * `extensions` bag containing `email`. It is one valid actor-object shape,
480
+ * not the only representation allowed by `CaliperEvent.actor`.
476
481
  */
477
482
  interface CaliperActor {
478
483
  /** Unique identifier (IRI format) */
479
484
  id: string
480
485
  /** Entity type (e.g., 'Person', 'TimebackUser') */
481
486
  type: string
482
- /** Extensions - email is required by Timeback API */
487
+ /** Extensions carried on this actor-object shape */
483
488
  extensions: {
484
- /** Actor's email address (required by Timeback) */
489
+ /** Actor email on this actor-object shape */
485
490
  email: string
486
491
  /** Additional extension properties */
487
492
  [key: string]: unknown
@@ -500,8 +505,8 @@ interface CaliperEvent {
500
505
  id: string
501
506
  /** Event type */
502
507
  type: string
503
- /** The agent who initiated the event (string URL, CaliperActor, or TimebackUser) */
504
- actor: string | CaliperActor | TimebackUser
508
+ /** The agent who initiated the event (IRI string, CaliperActor, TimebackUser, or generic entity) */
509
+ actor: CaliperEntity | CaliperActor | TimebackUser
505
510
  /** The action or predicate */
506
511
  action: string
507
512
  /** The object of the interaction */
@@ -552,8 +557,8 @@ interface CaliperEnvelope {
552
557
  * Result of sending events.
553
558
  */
554
559
  interface SendEventsResult {
555
- /** Job ID for tracking async processing */
556
- jobId: string
560
+ /** Job ID for tracking async processing (undefined when the platform does not return one) */
561
+ jobId: string | undefined
557
562
  }
558
563
 
559
564
  /**
@@ -651,6 +656,34 @@ interface ListEventsResult {
651
656
  pagination: PaginationMeta
652
657
  }
653
658
 
659
+ // ═══════════════════════════════════════════════════════════════════════════════
660
+ // QUESTION EVENT TYPES (Standard Caliper)
661
+ // ═══════════════════════════════════════════════════════════════════════════════
662
+
663
+ /**
664
+ * AssessmentItemEvent (Question Seen / Question Answered).
665
+ *
666
+ * Represents when a student is presented with a question (Started)
667
+ * or submits an answer (Completed).
668
+ */
669
+ interface AssessmentItemEvent extends CaliperEvent {
670
+ type: 'AssessmentItemEvent'
671
+ action: 'Started' | 'Completed'
672
+ profile: 'AssessmentProfile'
673
+ }
674
+
675
+ /**
676
+ * GradeEvent for question-level grading.
677
+ *
678
+ * Represents when a question response is graded, with a Score entity
679
+ * containing `scoreType: "QUESTION_RESULT"` in the `generated` field.
680
+ */
681
+ interface QuestionGradeEvent extends CaliperEvent {
682
+ type: 'GradeEvent'
683
+ action: 'Graded'
684
+ profile: 'GradingProfile'
685
+ }
686
+
654
687
  /**
655
688
  * API Response Types
656
689
  *
@@ -858,18 +891,82 @@ declare const TimeSpentInput = z
858
891
  .strict()
859
892
  type TimeSpentInput = input<typeof TimeSpentInput>
860
893
 
894
+ declare const QuestionSeenInput = z
895
+ .object({
896
+ /** Actor (Person IRI or entity object with id, type, name, etc.) */
897
+ actor: z.union([z.string(), CaliperActor, TimebackUser]),
898
+ /** AssessmentItem being presented */
899
+ object: AssessmentItemObject,
900
+ /** Application identifier (IRI or entity) */
901
+ edApp: CaliperEntity,
902
+ /** Event identifier (auto-generated if omitted) */
903
+ id: z.string().optional(),
904
+ /** ISO 8601 datetime (defaults to now) */
905
+ eventTime: IsoDateTimeString.optional(),
906
+ /** Session context (IRI or entity) */
907
+ session: CaliperEntity.optional(),
908
+ /** Event-level extensions */
909
+ extensions: z.record(z.string(), z.unknown()).optional(),
910
+ })
911
+ .strict()
912
+ type QuestionSeenInput = input<typeof QuestionSeenInput>
913
+
914
+ declare const QuestionAnsweredInput = z
915
+ .object({
916
+ /** Actor (Person IRI or entity object with id, type, name, etc.) */
917
+ actor: z.union([z.string(), CaliperActor, TimebackUser]),
918
+ /** AssessmentItem being answered */
919
+ object: AssessmentItemObject,
920
+ /** Application identifier (IRI or entity) */
921
+ edApp: CaliperEntity,
922
+ /** Response entity with optional attempt and timing */
923
+ generated: ResponseGenerated.optional(),
924
+ /** Event identifier (auto-generated if omitted) */
925
+ id: z.string().optional(),
926
+ /** ISO 8601 datetime (defaults to now) */
927
+ eventTime: IsoDateTimeString.optional(),
928
+ /** Session context (IRI or entity) */
929
+ session: CaliperEntity.optional(),
930
+ /** Event-level extensions */
931
+ extensions: z.record(z.string(), z.unknown()).optional(),
932
+ })
933
+ .strict()
934
+ type QuestionAnsweredInput = input<typeof QuestionAnsweredInput>
935
+
936
+ declare const QuestionGradedInput = z
937
+ .object({
938
+ /** Actor (Person IRI or entity object with id, type, name, etc.) */
939
+ actor: z.union([z.string(), CaliperActor, TimebackUser]),
940
+ /** Attempt being graded (IRI) */
941
+ object: z.string(),
942
+ /** Score awarded for the question */
943
+ generated: ScoreGenerated,
944
+ /** Application identifier (IRI or entity) */
945
+ edApp: CaliperEntity,
946
+ /** Event identifier (auto-generated if omitted) */
947
+ id: z.string().optional(),
948
+ /** ISO 8601 datetime (defaults to now) */
949
+ eventTime: IsoDateTimeString.optional(),
950
+ /** Session context (IRI or entity) */
951
+ session: CaliperEntity.optional(),
952
+ /** Event-level extensions */
953
+ extensions: z.record(z.string(), z.unknown()).optional(),
954
+ })
955
+ .strict()
956
+ type QuestionGradedInput = input<typeof QuestionGradedInput>
957
+
861
958
  declare const CaliperListEventsParams = z
862
959
  .object({
863
960
  limit: z.number().int().positive().optional(),
864
961
  offset: z.number().int().min(0).optional(),
865
- sensor: z.string().min(1).optional(),
962
+ sensor: NonEmptyString.optional(),
866
963
  startDate: IsoDateTimeString.optional(),
867
964
  endDate: IsoDateTimeString.optional(),
868
- actorId: z.string().min(1).optional(),
965
+ actorId: NonEmptyString.optional(),
869
966
  actorEmail: z.email().optional(),
870
967
  })
871
968
  .strict()
872
969
  type CaliperListEventsParams = input<typeof CaliperListEventsParams>
873
970
 
874
- export { ActivityCompletedInput, CALIPER_DATA_VERSION, CaliperListEventsParams as ListEventsParams, TimeSpentInput };
875
- export type { ActivityCompletedEvent, ActivityMetricType, ApiResponse, CaliperActor, CaliperEntity, CaliperEnvelope, CaliperEvent, CaliperProfile, EventResult, GetEventResponse, JobStatus, JobStatusResponse, ListEventsResponse, ListEventsResult, PaginationMeta, SendEventsResponse, SendEventsResult, StoredEvent, TimeSpentEvent, TimeSpentMetric, TimeSpentMetricType, TimebackActivity, TimebackActivityContext, TimebackActivityMetric, TimebackActivityMetricsCollection, TimebackApp, TimebackCourse, TimebackEvent, TimebackEventBase, TimebackSubject, TimebackTimeSpentMetricsCollection, TimebackUser, TimebackUserRole, ValidationResult, WaitForCompletionOptions };
971
+ export { ActivityCompletedInput, CALIPER_DATA_VERSION, CaliperListEventsParams as ListEventsParams, QuestionAnsweredInput, QuestionGradedInput, QuestionSeenInput, TimeSpentInput };
972
+ export type { ActivityCompletedEvent, ActivityMetricType, ApiResponse, AssessmentItemEvent, CaliperActor, CaliperEntity, CaliperEnvelope, CaliperEvent, CaliperProfile, EventResult, GetEventResponse, JobStatus, JobStatusResponse, ListEventsResponse, ListEventsResult, PaginationMeta, QuestionGradeEvent, SendEventsResponse, SendEventsResult, StoredEvent, TimeSpentEvent, TimeSpentMetric, TimeSpentMetricType, TimebackActivity, TimebackActivityContext, TimebackActivityMetric, TimebackActivityMetricsCollection, TimebackApp, TimebackCourse, TimebackEvent, TimebackEventBase, TimebackSubject, TimebackTimeSpentMetricsCollection, TimebackUser, TimebackUserRole, ValidationResult, WaitForCompletionOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../src/public-types.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,YAAY,EACX,sBAAsB,EACtB,cAAc,EACd,uBAAuB,IAAI,gBAAgB,GAC3C,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../src/public-types.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,YAAY,EACX,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,IAAI,gBAAgB,GAC3C,MAAM,qBAAqB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CALIPER_DATA_VERSION
3
- } from "./chunk-9wzc4pgh.js";
3
+ } from "./chunk-mr61jp0f.js";
4
4
  import"./chunk-6jf1natv.js";
5
5
  export {
6
6
  CALIPER_DATA_VERSION
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * Manage Caliper events - send, list, and retrieve.
5
5
  */
6
- import { Paginator } from '../lib/pagination';
7
- import type { ActivityCompletedInput, CaliperListEventsParams as CaliperListEventsParamsType, TimeSpentInput } from '@timeback/types/zod';
8
- import type { EventTransformer, CaliperEnvelope, CaliperEvent, CaliperTransportLike, ListEventsResult, SendEventsResult, StoredEvent, ValidationResult } from '../types';
6
+ import { Paginator } from '../lib';
7
+ import type { ActivityCompletedInput, CaliperListEventsParams as CaliperListEventsParamsType, QuestionAnsweredInput, QuestionGradedInput, QuestionSeenInput, TimeSpentInput } from '@timeback/types/zod';
8
+ import type { CaliperEnvelope, CaliperEvent, CaliperTransportLike, EventTransformer, ListEventsResult, SendEventsResult, StoredEvent, ValidationResult } from '../types';
9
9
  /**
10
10
  * Caliper Events resource.
11
11
  *
@@ -244,5 +244,77 @@ export declare class EventsResource {
244
244
  * ```
245
245
  */
246
246
  sendTimeSpent(sensor: string, input: TimeSpentInput): Promise<SendEventsResult>;
247
+ /**
248
+ * Send a "question seen" event (AssessmentItemEvent.Started).
249
+ *
250
+ * Records when a question is presented to a student.
251
+ *
252
+ * @param sensor - Sensor identifier (IRI format)
253
+ * @param input - Question seen data
254
+ * @returns Job ID for tracking processing status
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * await client.events.sendQuestionSeen(
259
+ * 'https://myapp.example.com/sensors/main',
260
+ * {
261
+ * actor: 'urn:uuid:student-123',
262
+ * object: { id: 'urn:uuid:q-456', name: 'What is 2+2?' },
263
+ * edApp: 'https://myapp.example.com',
264
+ * },
265
+ * )
266
+ * ```
267
+ */
268
+ sendQuestionSeen(sensor: string, input: QuestionSeenInput): Promise<SendEventsResult>;
269
+ /**
270
+ * Send a "question answered" event (AssessmentItemEvent.Completed).
271
+ *
272
+ * Records when a student submits an answer to a question.
273
+ *
274
+ * @param sensor - Sensor identifier (IRI format)
275
+ * @param input - Question answered data
276
+ * @returns Job ID for tracking processing status
277
+ *
278
+ * @example
279
+ * ```typescript
280
+ * await client.events.sendQuestionAnswered(
281
+ * 'https://myapp.example.com/sensors/main',
282
+ * {
283
+ * actor: 'urn:uuid:student-123',
284
+ * object: { id: 'urn:uuid:q-456', name: 'What is 2+2?' },
285
+ * edApp: 'https://myapp.example.com',
286
+ * generated: {
287
+ * id: 'urn:uuid:response-789',
288
+ * attempt: 'urn:uuid:attempt-101',
289
+ * },
290
+ * },
291
+ * )
292
+ * ```
293
+ */
294
+ sendQuestionAnswered(sensor: string, input: QuestionAnsweredInput): Promise<SendEventsResult>;
295
+ /**
296
+ * Send a "question graded" event (GradeEvent.Graded).
297
+ *
298
+ * Records when a question response is scored. The Score entity is
299
+ * auto-filled with `scoreType: "QUESTION_RESULT"`.
300
+ *
301
+ * @param sensor - Sensor identifier (IRI format)
302
+ * @param input - Question graded data
303
+ * @returns Job ID for tracking processing status
304
+ *
305
+ * @example
306
+ * ```typescript
307
+ * await client.events.sendQuestionGraded(
308
+ * 'https://myapp.example.com/sensors/main',
309
+ * {
310
+ * actor: 'urn:uuid:student-123',
311
+ * object: 'urn:uuid:attempt-101',
312
+ * generated: { scoreGiven: 1, maxScore: 1, attempt: 'urn:uuid:attempt-101' },
313
+ * edApp: 'https://myapp.example.com',
314
+ * },
315
+ * )
316
+ * ```
317
+ */
318
+ sendQuestionGraded(sensor: string, input: QuestionGradedInput): Promise<SendEventsResult>;
247
319
  }
248
320
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/resources/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG7C,OAAO,KAAK,EACX,sBAAsB,EACtB,uBAAuB,IAAI,2BAA2B,EACtD,cAAc,EACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACX,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,oBAAoB,EAGpB,gBAAgB,EAEhB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,MAAM,UAAU,CAAA;AAEjB;;;;GAIG;AACH,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAH3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAkB;IAEpD,YACkB,SAAS,EAAE,oBAAoB,EAChD,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KAAE,EAGjD;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUtE;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmBvE;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsBnE;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,IAAI,CAAC,MAAM,GAAE,2BAAgC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8B9E;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CAAC,MAAM,GAAE,2BAA2B,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CA2B1F;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAiBlD;IAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYrF;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAY9E;CACD"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/resources/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,OAAO,EAMN,SAAS,EACT,MAAM,QAAQ,CAAA;AAGf,OAAO,KAAK,EACX,sBAAsB,EACtB,uBAAuB,IAAI,2BAA2B,EACtD,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACX,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAGhB,gBAAgB,EAEhB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,MAAM,UAAU,CAAA;AAEjB;;;;GAIG;AACH,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAH3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAkB;IAEpD,YACkB,SAAS,EAAE,oBAAoB,EAChD,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KAAE,EAGjD;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUtE;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoBvE;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsBnE;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,IAAI,CAAC,MAAM,GAAE,2BAAgC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8B9E;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CAAC,MAAM,GAAE,2BAA2B,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CA2B1F;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAiBlD;IAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYrF;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAY9E;IAMD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAWpF;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAW5F;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYxF;CACD"}
@@ -1,4 +1,4 @@
1
1
  export * from '@timeback/types/protocols/caliper';
2
2
  export * from './client';
3
- export type { ActivityCompletedInput, TimeSpentInput, CaliperListEventsParams as ListEventsParams, } from '@timeback/types/zod';
3
+ export type { ActivityCompletedInput, QuestionAnsweredInput, QuestionGradedInput, QuestionSeenInput, TimeSpentInput, CaliperListEventsParams as ListEventsParams, } from '@timeback/types/zod';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAA;AACjD,cAAc,UAAU,CAAA;AAExB,YAAY,EACX,sBAAsB,EACtB,cAAc,EACd,uBAAuB,IAAI,gBAAgB,GAC3C,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAA;AACjD,cAAc,UAAU,CAAA;AAExB,YAAY,EACX,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,IAAI,gBAAgB,GAC3C,MAAM,qBAAqB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timeback/caliper",
3
- "version": "0.1.7-beta.20260309185602",
3
+ "version": "0.2.0",
4
4
  "description": "Caliper Analytics client SDK for Timeback",
5
5
  "type": "module",
6
6
  "exports": {