@timeback/qti 0.1.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 (57) hide show
  1. package/README.md +32 -0
  2. package/dist/client.d.ts +70 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/constants.d.ts +24 -0
  5. package/dist/constants.d.ts.map +1 -0
  6. package/dist/errors.js +1405 -0
  7. package/dist/factory.d.ts +46 -0
  8. package/dist/factory.d.ts.map +1 -0
  9. package/dist/index.d.ts +48 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +1868 -0
  12. package/dist/lib/index.d.ts +10 -0
  13. package/dist/lib/index.d.ts.map +1 -0
  14. package/dist/lib/pagination.d.ts +27 -0
  15. package/dist/lib/pagination.d.ts.map +1 -0
  16. package/dist/lib/resolve.d.ts +21 -0
  17. package/dist/lib/resolve.d.ts.map +1 -0
  18. package/dist/lib/transport.d.ts +39 -0
  19. package/dist/lib/transport.d.ts.map +1 -0
  20. package/dist/resources/assessment-items.d.ts +87 -0
  21. package/dist/resources/assessment-items.d.ts.map +1 -0
  22. package/dist/resources/assessment-tests.d.ts +225 -0
  23. package/dist/resources/assessment-tests.d.ts.map +1 -0
  24. package/dist/resources/general.d.ts +26 -0
  25. package/dist/resources/general.d.ts.map +1 -0
  26. package/dist/resources/index.d.ts +10 -0
  27. package/dist/resources/index.d.ts.map +1 -0
  28. package/dist/resources/lesson.d.ts +38 -0
  29. package/dist/resources/lesson.d.ts.map +1 -0
  30. package/dist/resources/stimuli.d.ts +64 -0
  31. package/dist/resources/stimuli.d.ts.map +1 -0
  32. package/dist/resources/validate.d.ts +31 -0
  33. package/dist/resources/validate.d.ts.map +1 -0
  34. package/dist/types/api.d.ts +37 -0
  35. package/dist/types/api.d.ts.map +1 -0
  36. package/dist/types/assessment-items.d.ts +82 -0
  37. package/dist/types/assessment-items.d.ts.map +1 -0
  38. package/dist/types/assessment-tests.d.ts +180 -0
  39. package/dist/types/assessment-tests.d.ts.map +1 -0
  40. package/dist/types/base.d.ts +195 -0
  41. package/dist/types/base.d.ts.map +1 -0
  42. package/dist/types/client.d.ts +44 -0
  43. package/dist/types/client.d.ts.map +1 -0
  44. package/dist/types/index.d.ts +14 -0
  45. package/dist/types/index.d.ts.map +1 -0
  46. package/dist/types/lesson.d.ts +38 -0
  47. package/dist/types/lesson.d.ts.map +1 -0
  48. package/dist/types/stimuli.d.ts +56 -0
  49. package/dist/types/stimuli.d.ts.map +1 -0
  50. package/dist/types/validate.d.ts +39 -0
  51. package/dist/types/validate.d.ts.map +1 -0
  52. package/dist/types.d.ts +10 -0
  53. package/dist/types.d.ts.map +1 -0
  54. package/dist/types.js +0 -0
  55. package/dist/utils.d.ts +11 -0
  56. package/dist/utils.d.ts.map +1 -0
  57. package/package.json +39 -0
@@ -0,0 +1,46 @@
1
+ /**
2
+ * QTI Client Factory
3
+ *
4
+ * Creates QtiClient classes bound to specific provider registries.
5
+ */
6
+ import { AssessmentItemsResource, AssessmentTestsResource, GeneralResource, LessonResource, StimuliResource, ValidateResource } from './resources';
7
+ import type { AuthCheckResult, ProviderRegistry, TimebackProvider } from '@timeback/internal-client-infra';
8
+ import type { QtiClientConfig, QtiTransportLike } from './types';
9
+ /**
10
+ * Create a QtiClient class bound to a specific provider registry.
11
+ *
12
+ * @param registry - Provider registry to use (defaults to all Timeback platforms)
13
+ * @returns QtiClient class bound to the registry
14
+ */
15
+ export declare function createQtiClient(registry?: ProviderRegistry): {
16
+ new (config?: QtiClientConfig): {
17
+ /** @internal */
18
+ readonly transport: QtiTransportLike;
19
+ /** @internal */
20
+ readonly _provider?: TimebackProvider | undefined;
21
+ /** Query and manage assessment items (questions) */
22
+ readonly assessmentItems: AssessmentItemsResource;
23
+ /** Query and manage assessment tests with nested test parts, sections, and items */
24
+ readonly assessmentTests: AssessmentTestsResource;
25
+ /** Query and manage stimulus materials (passages, images, etc.) */
26
+ readonly stimuli: StimuliResource;
27
+ /** Validate QTI XML documents */
28
+ readonly validate: ValidateResource;
29
+ /** Submit and retrieve lesson/question feedback */
30
+ readonly lesson: LessonResource;
31
+ /** General operations like delete-by-id */
32
+ readonly general: GeneralResource;
33
+ /**
34
+ * Get the underlying transport for advanced use cases.
35
+ * @returns The transport instance used by this client
36
+ */
37
+ getTransport(): QtiTransportLike;
38
+ /**
39
+ * Verify that OAuth authentication is working.
40
+ * @returns Auth check result
41
+ * @throws {Error} If client was initialized with custom transport (no provider)
42
+ */
43
+ checkAuth(): Promise<AuthCheckResult>;
44
+ };
45
+ };
46
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,MAAM,aAAa,CAAA;AAGpB,OAAO,KAAK,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEhE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,gBAA4C;;QAQpF,gBAAgB;;QAGhB,gBAAgB;;QAGhB,oDAAoD;;QAEpD,oFAAoF;;QAEpF,mEAAmE;;QAEnE,iCAAiC;;QAEjC,mDAAmD;;QAEnD,2CAA2C;;QA6C3C;;;WAGG;;QAKH;;;;WAIG;;;EASJ"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * QTI API client SDK for Timeback.
3
+ *
4
+ * @example Environment mode (Timeback APIs)
5
+ * ```typescript
6
+ * import { QtiClient } from '@timeback/qti'
7
+ *
8
+ * const client = new QtiClient({
9
+ * env: 'staging',
10
+ * auth: {
11
+ * clientId: 'your-client-id',
12
+ * clientSecret: 'your-client-secret',
13
+ * },
14
+ * })
15
+ *
16
+ * // List assessment items
17
+ * const { items, total, page, pages } = await client.assessmentItems.list()
18
+ *
19
+ * // Get a specific item
20
+ * const item = await client.assessmentItems.get('item-123')
21
+ *
22
+ * // Validate XML
23
+ * const result = await client.validate.validate({
24
+ * schema: 'item',
25
+ * xml: '<qti-assessment-item>...</qti-assessment-item>',
26
+ * })
27
+ * ```
28
+ *
29
+ * @example Explicit mode (custom API)
30
+ * ```typescript
31
+ * const client = new QtiClient({
32
+ * baseUrl: 'https://qti.example.com/api',
33
+ * auth: {
34
+ * clientId: 'your-client-id',
35
+ * clientSecret: 'your-client-secret',
36
+ * authUrl: 'https://auth.example.com/oauth2/token',
37
+ * },
38
+ * })
39
+ * ```
40
+ */
41
+ export { QtiClient, type QtiClientInstance } from './client';
42
+ export { createQtiClient } from './factory';
43
+ export type { QtiClientConfig } from './types/client';
44
+ export type { Environment, EnvAuth, ExplicitAuth } from './types/client';
45
+ export type { AuthCheckResult, ListParams, PageResult } from '@timeback/internal-client-infra';
46
+ export type { AssessmentItem, AssessmentItemType, AssessmentTest, ListResponse, Stimulus, ValidationResult, } from './types';
47
+ export { Paginator, Transport } from './lib';
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAMH,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAMrD,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE9F,YAAY,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,gBAAgB,GAChB,MAAM,SAAS,CAAA;AAMhB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA"}