@timeback/powerpath 0.2.1-beta.20260314151810 → 0.2.1-beta.20260314155353

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.
package/dist/client.d.ts CHANGED
@@ -67,6 +67,7 @@ export declare const PowerPathClient: {
67
67
  readonly screening: import("./resources").ScreeningResource;
68
68
  readonly syllabus: import("./resources").SyllabusResource;
69
69
  readonly testAssignments: import("./resources").TestAssignmentsResource;
70
+ readonly testOut: import("./resources").TestOutResource;
70
71
  getTransport(): import("./types").PowerPathTransportLike;
71
72
  checkAuth(): Promise<import("@timeback/internal-client-infra").AuthCheckResult>;
72
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;CAA0B,CAAA;AAEtD,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;CAA0B,CAAA;AAEtD,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
package/dist/factory.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Creates PowerPathClient classes bound to specific provider registries.
5
5
  */
6
- import { AssessmentResource, LessonPlansResource, PlacementResource, RenderConfigResource, ScreeningResource, SyllabusResource, TestAssignmentsResource } from './resources';
6
+ import { AssessmentResource, LessonPlansResource, PlacementResource, RenderConfigResource, ScreeningResource, SyllabusResource, TestAssignmentsResource, TestOutResource } from './resources';
7
7
  import type { AuthCheckResult, ProviderRegistry, TimebackProvider } from '@timeback/internal-client-infra';
8
8
  import type { PowerPathClientConfig, PowerPathTransportLike } from './types';
9
9
  /**
@@ -32,6 +32,8 @@ export declare function createPowerPathClient(registry?: ProviderRegistry): {
32
32
  readonly syllabus: SyllabusResource;
33
33
  /** Test assignment CRUD and bulk operations */
34
34
  readonly testAssignments: TestAssignmentsResource;
35
+ /** Self-elected test-out eligibility and assignments */
36
+ readonly testOut: TestOutResource;
35
37
  /**
36
38
  * Get the underlying transport for advanced use cases.
37
39
  * @returns The transport instance used by this client
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,aAAa,CAAA;AAGpB,OAAO,KAAK,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAE5E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,gBAA4C;;QAQ1F,gBAAgB;;QAGhB,gBAAgB;;QAGhB,uDAAuD;;QAEvD,8CAA8C;;QAE9C,qCAAqC;;QAErC,iDAAiD;;QAEjD,qCAAqC;;QAErC,gCAAgC;;QAEhC,+CAA+C;;QA+C/C;;;WAGG;;QAKH;;;;WAIG;;;EASJ"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,MAAM,aAAa,CAAA;AAGpB,OAAO,KAAK,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAE5E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,gBAA4C;;QAQ1F,gBAAgB;;QAGhB,gBAAgB;;QAGhB,uDAAuD;;QAEvD,8CAA8C;;QAE9C,qCAAqC;;QAErC,iDAAiD;;QAEjD,qCAAqC;;QAErC,gCAAgC;;QAEhC,+CAA+C;;QAE/C,wDAAwD;;QAgDxD;;;WAGG;;QAKH;;;;WAIG;;;EASJ"}
package/dist/index.d.ts CHANGED
@@ -751,6 +751,26 @@ interface UpdateStudentItemResponseResult {
751
751
  [key: string]: unknown
752
752
  }
753
753
 
754
+ // ═══════════════════════════════════════════════════════════════════════════════
755
+ // TEST OUT (self-elected)
756
+ // ═══════════════════════════════════════════════════════════════════════════════
757
+
758
+ /**
759
+ * Result from checking test-out eligibility for a student/subject.
760
+ */
761
+ interface GetTestOutEligibilityResponse {
762
+ eligible: boolean
763
+ reason?: string
764
+ }
765
+
766
+ /**
767
+ * Result from creating a self-elected test-out assignment.
768
+ */
769
+ interface MakeExternalStudentTestOutAssignmentResponse {
770
+ success: boolean
771
+ data?: Record<string, unknown>
772
+ }
773
+
754
774
  // ═══════════════════════════════════════════════════════════════════════════════
755
775
  // RENDER CONFIG
756
776
  // ═══════════════════════════════════════════════════════════════════════════════
@@ -1083,6 +1103,11 @@ declare const PowerPathPlacementQueryParams = z.object({
1083
1103
  subject: TimebackSubject,
1084
1104
  })
1085
1105
 
1106
+ declare const PowerPathMakeExternalStudentTestOutAssignmentInput = z.object({
1107
+ oneRosterSourcedId: NonEmptyString,
1108
+ subject: NonEmptyString,
1109
+ })
1110
+
1086
1111
  declare const PowerPathRenderConfigUpsertInput = z.object({
1087
1112
  courseIds: z.array(NonEmptyString).min(1),
1088
1113
  rendererId: NonEmptyString,
@@ -1141,6 +1166,9 @@ type TestOutParams = input<typeof PowerPathTestOutParams>
1141
1166
  type ImportExternalTestAssignmentResultsParams = input<
1142
1167
  typeof PowerPathImportExternalTestAssignmentResultsParams
1143
1168
  >
1169
+ type MakeExternalStudentTestOutAssignmentInput = input<
1170
+ typeof PowerPathMakeExternalStudentTestOutAssignmentInput
1171
+ >
1144
1172
  type PlacementQueryParams = input<typeof PowerPathPlacementQueryParams>
1145
1173
  type RenderConfigUpsertInput = input<typeof PowerPathRenderConfigUpsertInput>
1146
1174
  type SyllabusQueryParams = input<typeof PowerPathSyllabusQueryParams>
@@ -1406,6 +1434,36 @@ declare class TestAssignmentsResource {
1406
1434
  import(input: TestAssignmentsImportInput): Promise<BulkResult>;
1407
1435
  }
1408
1436
 
1437
+ /**
1438
+ * Test Out Resource
1439
+ *
1440
+ * PowerPath self-elected test-out operations.
1441
+ */
1442
+
1443
+ /**
1444
+ * Test out resource for self-elected test-out eligibility and assignment creation.
1445
+ */
1446
+ declare class TestOutResource {
1447
+ private readonly transport;
1448
+ /** @param transport - PowerPath transport instance */
1449
+ constructor(transport: PowerPathTransportLike);
1450
+ /**
1451
+ * Check if a student is eligible to self-request a test-out for a subject.
1452
+ *
1453
+ * @param studentId - The student's OneRoster sourcedId
1454
+ * @param subject - The subject to check eligibility for
1455
+ * @returns Eligibility status and optional reason
1456
+ */
1457
+ getEligibility(studentId: string, subject: string): Promise<GetTestOutEligibilityResponse>;
1458
+ /**
1459
+ * Create a self-elected test-out assignment.
1460
+ *
1461
+ * @param input - Assignment data including oneRosterSourcedId and subject
1462
+ * @returns Success status and optional data
1463
+ */
1464
+ createAssignment(input: MakeExternalStudentTestOutAssignmentInput): Promise<MakeExternalStudentTestOutAssignmentResponse>;
1465
+ }
1466
+
1409
1467
  /**
1410
1468
  * PowerPath Client
1411
1469
  *
@@ -1475,6 +1533,7 @@ declare const PowerPathClient: {
1475
1533
  readonly screening: ScreeningResource;
1476
1534
  readonly syllabus: SyllabusResource;
1477
1535
  readonly testAssignments: TestAssignmentsResource;
1536
+ readonly testOut: TestOutResource;
1478
1537
  getTransport(): PowerPathTransportLike;
1479
1538
  checkAuth(): Promise<_timeback_internal_client_infra.AuthCheckResult>;
1480
1539
  };
@@ -1512,6 +1571,8 @@ declare function createPowerPathClient(registry?: ProviderRegistry): {
1512
1571
  readonly syllabus: SyllabusResource;
1513
1572
  /** Test assignment CRUD and bulk operations */
1514
1573
  readonly testAssignments: TestAssignmentsResource;
1574
+ /** Self-elected test-out eligibility and assignments */
1575
+ readonly testOut: TestOutResource;
1515
1576
  /**
1516
1577
  * Get the underlying transport for advanced use cases.
1517
1578
  * @returns The transport instance used by this client
@@ -1561,4 +1622,4 @@ declare class Transport extends BaseTransport {
1561
1622
  }
1562
1623
 
1563
1624
  export { Paginator, PowerPathClient, Transport, createPowerPathClient };
1564
- export type { AssignmentResult, Attempt, BulkResult, CourseProgressResponse, CreateAttemptResponse, CreateExternalPlacementTestInput, CreateExternalTestOutInput, CreateInternalTestInput, CreateNewAttemptInput, ExternalTestCapableLessonType, ExternalTestCreateResponse, FinalStudentAssessmentResponseInput, FinalizeAssessmentResponse, GetAllPlacementTestsResponse, GetAssessmentProgressParams, GetAssessmentProgressResponse, GetAttemptsParams, GetAttemptsResponse, GetCurrentLevelResponse, GetNextPlacementTestResponse, GetNextQuestionParams, GetNextQuestionResponse, GetSubjectProgressResponse, ImportExternalResultsResponse, ImportExternalTestAssignmentResultsParams, InternalTestCreateResponse, LessonPlanCourseSyncResult, LessonPlanCreateResponse, LessonPlanOperation, LessonPlanOperationInput, LessonPlanOperationResult, LessonPlanOperationsInput, LessonPlanOperationsResponse, LessonPlanResponse, LessonPlanSyncResult, LessonPlanUpdateStudentItemResponseInput, LessonPlansCreateInput, MakeExternalTestAssignmentInput, MakeExternalTestAssignmentResponse, PaginationMeta, PlacementQueryParams, PlacementResetUserPlacementInput, PowerPath100ProgressResponse, PowerPath100UpdateResponseResult, PowerPathClientConfig, PowerPathClientInstance, PowerPathLessonType, PowerPathQuestionContent, PowerPathQuestionDifficulty, PowerPathQuestionResult, PowerPathTestQuestion, QuizLikeLessonType, ResetAttemptInput, ResetAttemptResponse, ResetPlacementResponse, ResponseResult, ResponseResultFeedback, ScoreStatus, ScreeningAssignTestInput, ScreeningAssignTestResponse, ScreeningResetSessionInput, ScreeningResetSessionResponse, ScreeningResultsResponse, ScreeningSessionResponse, StandardProgressResponse, StandardUpdateResponseResult, SyllabusQueryParams, SyllabusResponse, TestAssignment, TestAssignmentStatus, TestAssignmentsAdminParams, TestAssignmentsBulkInput, TestAssignmentsCreateInput, TestAssignmentsImportInput, TestAssignmentsListParams, TestAssignmentsListResponse, TestAssignmentsUpdateInput, TestOutParams, TestOutResponse, UpdateStudentItemResponseResult, UpdateStudentQuestionResponseInput, UpdateStudentQuestionResponseResult };
1625
+ export type { AssignmentResult, Attempt, BulkResult, CourseProgressResponse, CreateAttemptResponse, CreateExternalPlacementTestInput, CreateExternalTestOutInput, CreateInternalTestInput, CreateNewAttemptInput, ExternalTestCapableLessonType, ExternalTestCreateResponse, FinalStudentAssessmentResponseInput, FinalizeAssessmentResponse, GetAllPlacementTestsResponse, GetAssessmentProgressParams, GetAssessmentProgressResponse, GetAttemptsParams, GetAttemptsResponse, GetCurrentLevelResponse, GetNextPlacementTestResponse, GetNextQuestionParams, GetNextQuestionResponse, GetSubjectProgressResponse, GetTestOutEligibilityResponse, ImportExternalResultsResponse, ImportExternalTestAssignmentResultsParams, InternalTestCreateResponse, LessonPlanCourseSyncResult, LessonPlanCreateResponse, LessonPlanOperation, LessonPlanOperationInput, LessonPlanOperationResult, LessonPlanOperationsInput, LessonPlanOperationsResponse, LessonPlanResponse, LessonPlanSyncResult, LessonPlanUpdateStudentItemResponseInput, LessonPlansCreateInput, MakeExternalStudentTestOutAssignmentInput, MakeExternalStudentTestOutAssignmentResponse, MakeExternalTestAssignmentInput, MakeExternalTestAssignmentResponse, PaginationMeta, PlacementQueryParams, PlacementResetUserPlacementInput, PowerPath100ProgressResponse, PowerPath100UpdateResponseResult, PowerPathClientConfig, PowerPathClientInstance, PowerPathLessonType, PowerPathQuestionContent, PowerPathQuestionDifficulty, PowerPathQuestionResult, PowerPathTestQuestion, QuizLikeLessonType, ResetAttemptInput, ResetAttemptResponse, ResetPlacementResponse, ResponseResult, ResponseResultFeedback, ScoreStatus, ScreeningAssignTestInput, ScreeningAssignTestResponse, ScreeningResetSessionInput, ScreeningResetSessionResponse, ScreeningResultsResponse, ScreeningSessionResponse, StandardProgressResponse, StandardUpdateResponseResult, SyllabusQueryParams, SyllabusResponse, TestAssignment, TestAssignmentStatus, TestAssignmentsAdminParams, TestAssignmentsBulkInput, TestAssignmentsCreateInput, TestAssignmentsImportInput, TestAssignmentsListParams, TestAssignmentsListResponse, TestAssignmentsUpdateInput, TestOutParams, TestOutResponse, UpdateStudentItemResponseResult, UpdateStudentQuestionResponseInput, UpdateStudentQuestionResponseResult };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAM3D,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,EAEX,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAE3B,OAAO,EACP,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,kCAAkC,EAClC,4BAA4B,EAC5B,gCAAgC,EAChC,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,eAAe,EACf,mCAAmC,EAEnC,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,sBAAsB,EAEtB,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EAExB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAE/B,gBAAgB,EAEhB,6BAA6B,EAC7B,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,WAAW,GACX,MAAM,qCAAqC,CAAA;AAM5C,YAAY,EACX,gCAAgC,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,mCAAmC,EACnC,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,yCAAyC,EACzC,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wCAAwC,EACxC,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EAChC,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,aAAa,EACb,kCAAkC,GAClC,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAM3D,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,EAEX,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAE3B,OAAO,EACP,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,0BAA0B,EAC1B,4CAA4C,EAC5C,kCAAkC,EAClC,4BAA4B,EAC5B,gCAAgC,EAChC,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,eAAe,EACf,mCAAmC,EAEnC,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,sBAAsB,EAEtB,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EAExB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,kBAAkB,EAClB,oBAAoB,EACpB,+BAA+B,EAE/B,gBAAgB,EAEhB,6BAA6B,EAC7B,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,WAAW,GACX,MAAM,qCAAqC,CAAA;AAM5C,YAAY,EACX,gCAAgC,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,mCAAmC,EACnC,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,yCAAyC,EACzC,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wCAAwC,EACxC,yCAAyC,EACzC,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EAChC,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,aAAa,EACb,kCAAkC,GAClC,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA"}
package/dist/index.js CHANGED
@@ -722,7 +722,9 @@ var EduBridgeEnrollment = z7.object({
722
722
  school: z7.object({
723
723
  id: z7.string(),
724
724
  name: z7.string()
725
- })
725
+ }),
726
+ testOutSupported: z7.boolean(),
727
+ testOutEligible: z7.boolean()
726
728
  });
727
729
  var SubjectMetrics = z7.object({
728
730
  activityMetrics: z7.object({
@@ -1519,6 +1521,10 @@ var PowerPathPlacementQueryParams = z10.object({
1519
1521
  student: NonEmptyString,
1520
1522
  subject: TimebackSubject
1521
1523
  });
1524
+ var PowerPathMakeExternalStudentTestOutAssignmentInput = z10.object({
1525
+ oneRosterSourcedId: NonEmptyString,
1526
+ subject: NonEmptyString
1527
+ });
1522
1528
  var PowerPathRenderConfigUpsertInput = z10.object({
1523
1529
  courseIds: z10.array(NonEmptyString).min(1),
1524
1530
  rendererId: NonEmptyString,
@@ -2156,6 +2162,22 @@ class TestAssignmentsResource {
2156
2162
  });
2157
2163
  }
2158
2164
  }
2165
+ // src/resources/test-out.ts
2166
+ class TestOutResource {
2167
+ transport;
2168
+ constructor(transport) {
2169
+ this.transport = transport;
2170
+ }
2171
+ getEligibility(studentId, subject) {
2172
+ validateNonEmptyString(studentId, "studentId");
2173
+ validateNonEmptyString(subject, "subject");
2174
+ return this.transport.request(`${this.transport.paths.base}/test-out/getTestOutEligibility/${encodeURIComponent(studentId)}/${encodeURIComponent(subject)}`);
2175
+ }
2176
+ createAssignment(input) {
2177
+ validateWithSchema(PowerPathMakeExternalStudentTestOutAssignmentInput, input, "make external student test out assignment");
2178
+ return this.transport.request(`${this.transport.paths.base}/test-out/makeExternalStudentTestOutAssignment`, { method: "POST", body: input });
2179
+ }
2180
+ }
2159
2181
  // src/factory.ts
2160
2182
  function createPowerPathClient(registry = DEFAULT_PROVIDER_REGISTRY) {
2161
2183
  return class PowerPathClient {
@@ -2168,6 +2190,7 @@ function createPowerPathClient(registry = DEFAULT_PROVIDER_REGISTRY) {
2168
2190
  screening;
2169
2191
  syllabus;
2170
2192
  testAssignments;
2193
+ testOut;
2171
2194
  constructor(config2 = {}) {
2172
2195
  const resolved = resolveToProvider2(config2, registry);
2173
2196
  if (resolved.mode === "transport") {
@@ -2200,6 +2223,7 @@ function createPowerPathClient(registry = DEFAULT_PROVIDER_REGISTRY) {
2200
2223
  this.screening = new ScreeningResource(this.transport);
2201
2224
  this.syllabus = new SyllabusResource(this.transport);
2202
2225
  this.testAssignments = new TestAssignmentsResource(this.transport);
2226
+ this.testOut = new TestOutResource(this.transport);
2203
2227
  }
2204
2228
  getTransport() {
2205
2229
  return this.transport;
@@ -759,6 +759,26 @@ interface UpdateStudentItemResponseResult {
759
759
  [key: string]: unknown
760
760
  }
761
761
 
762
+ // ═══════════════════════════════════════════════════════════════════════════════
763
+ // TEST OUT (self-elected)
764
+ // ═══════════════════════════════════════════════════════════════════════════════
765
+
766
+ /**
767
+ * Result from checking test-out eligibility for a student/subject.
768
+ */
769
+ interface GetTestOutEligibilityResponse {
770
+ eligible: boolean
771
+ reason?: string
772
+ }
773
+
774
+ /**
775
+ * Result from creating a self-elected test-out assignment.
776
+ */
777
+ interface MakeExternalStudentTestOutAssignmentResponse {
778
+ success: boolean
779
+ data?: Record<string, unknown>
780
+ }
781
+
762
782
  // ═══════════════════════════════════════════════════════════════════════════════
763
783
  // RENDER CONFIG
764
784
  // ═══════════════════════════════════════════════════════════════════════════════
@@ -1091,6 +1111,11 @@ declare const PowerPathPlacementQueryParams = z.object({
1091
1111
  subject: TimebackSubject,
1092
1112
  })
1093
1113
 
1114
+ declare const PowerPathMakeExternalStudentTestOutAssignmentInput = z.object({
1115
+ oneRosterSourcedId: NonEmptyString,
1116
+ subject: NonEmptyString,
1117
+ })
1118
+
1094
1119
  declare const PowerPathRenderConfigUpsertInput = z.object({
1095
1120
  courseIds: z.array(NonEmptyString).min(1),
1096
1121
  rendererId: NonEmptyString,
@@ -1149,8 +1174,11 @@ type TestOutParams = input<typeof PowerPathTestOutParams>
1149
1174
  type ImportExternalTestAssignmentResultsParams = input<
1150
1175
  typeof PowerPathImportExternalTestAssignmentResultsParams
1151
1176
  >
1177
+ type MakeExternalStudentTestOutAssignmentInput = input<
1178
+ typeof PowerPathMakeExternalStudentTestOutAssignmentInput
1179
+ >
1152
1180
  type PlacementQueryParams = input<typeof PowerPathPlacementQueryParams>
1153
1181
  type RenderConfigUpsertInput = input<typeof PowerPathRenderConfigUpsertInput>
1154
1182
  type SyllabusQueryParams = input<typeof PowerPathSyllabusQueryParams>
1155
1183
 
1156
- export type { AssignmentResult, Attempt, BulkResult, CourseProgressResponse, CreateAttemptResponse, CreateExternalPlacementTestInput, CreateExternalTestOutInput, CreateInternalTestInput, CreateNewAttemptInput, ExternalTestCapableLessonType, ExternalTestCreateResponse, FinalStudentAssessmentResponseInput, FinalizeAssessmentResponse, GetAllPlacementTestsResponse, GetAssessmentProgressParams, GetAssessmentProgressResponse, GetAttemptsParams, GetAttemptsResponse, GetCurrentLevelResponse, GetNextPlacementTestResponse, GetNextQuestionParams, GetNextQuestionResponse, GetSubjectProgressResponse, ImportExternalResultsResponse, ImportExternalTestAssignmentResultsParams, InternalTestCreateResponse, LessonPlanCourseSyncResult, LessonPlanCreateResponse, LessonPlanOperation, LessonPlanOperationInput, LessonPlanOperationResult, LessonPlanOperationType, LessonPlanOperationsInput, LessonPlanOperationsResponse, LessonPlanResponse, LessonPlanSyncResult, LessonPlanUpdateStudentItemResponseInput, LessonPlansCreateInput, MakeExternalTestAssignmentInput, MakeExternalTestAssignmentResponse, PaginationMeta, PlacementQueryParams, PlacementResetUserPlacementInput, PowerPath100ProgressResponse, PowerPath100UpdateResponseResult, PowerPathLessonType, PowerPathQuestionContent, PowerPathQuestionDifficulty, PowerPathQuestionResult, PowerPathTestQuestion, QuizLikeLessonType, RenderConfigDeleteResponse, RenderConfigGetResponse, RenderConfigUpsertInput, RenderConfigUpsertResponse, ResetAttemptInput, ResetAttemptResponse, ResetPlacementResponse, ResponseResult, ResponseResultFeedback, ScoreStatus, ScreeningAssignTestInput, ScreeningAssignTestResponse, ScreeningResetSessionInput, ScreeningResetSessionResponse, ScreeningResultsResponse, ScreeningSessionResponse, StandardProgressResponse, StandardUpdateResponseResult, SyllabusQueryParams, SyllabusResponse, TestAssignment, TestAssignmentStatus, TestAssignmentsAdminParams, TestAssignmentsBulkInput, TestAssignmentsCreateInput, TestAssignmentsImportInput, TestAssignmentsListParams, TestAssignmentsListResponse, TestAssignmentsUpdateInput, TestOutParams, TestOutResponse, UpdateStudentItemResponseResult, UpdateStudentQuestionResponseInput, UpdateStudentQuestionResponseResult };
1184
+ export type { AssignmentResult, Attempt, BulkResult, CourseProgressResponse, CreateAttemptResponse, CreateExternalPlacementTestInput, CreateExternalTestOutInput, CreateInternalTestInput, CreateNewAttemptInput, ExternalTestCapableLessonType, ExternalTestCreateResponse, FinalStudentAssessmentResponseInput, FinalizeAssessmentResponse, GetAllPlacementTestsResponse, GetAssessmentProgressParams, GetAssessmentProgressResponse, GetAttemptsParams, GetAttemptsResponse, GetCurrentLevelResponse, GetNextPlacementTestResponse, GetNextQuestionParams, GetNextQuestionResponse, GetSubjectProgressResponse, GetTestOutEligibilityResponse, ImportExternalResultsResponse, ImportExternalTestAssignmentResultsParams, InternalTestCreateResponse, LessonPlanCourseSyncResult, LessonPlanCreateResponse, LessonPlanOperation, LessonPlanOperationInput, LessonPlanOperationResult, LessonPlanOperationType, LessonPlanOperationsInput, LessonPlanOperationsResponse, LessonPlanResponse, LessonPlanSyncResult, LessonPlanUpdateStudentItemResponseInput, LessonPlansCreateInput, MakeExternalStudentTestOutAssignmentInput, MakeExternalStudentTestOutAssignmentResponse, MakeExternalTestAssignmentInput, MakeExternalTestAssignmentResponse, PaginationMeta, PlacementQueryParams, PlacementResetUserPlacementInput, PowerPath100ProgressResponse, PowerPath100UpdateResponseResult, PowerPathLessonType, PowerPathQuestionContent, PowerPathQuestionDifficulty, PowerPathQuestionResult, PowerPathTestQuestion, QuizLikeLessonType, RenderConfigDeleteResponse, RenderConfigGetResponse, RenderConfigUpsertInput, RenderConfigUpsertResponse, ResetAttemptInput, ResetAttemptResponse, ResetPlacementResponse, ResponseResult, ResponseResultFeedback, ScoreStatus, ScreeningAssignTestInput, ScreeningAssignTestResponse, ScreeningResetSessionInput, ScreeningResetSessionResponse, ScreeningResultsResponse, ScreeningSessionResponse, StandardProgressResponse, StandardUpdateResponseResult, SyllabusQueryParams, SyllabusResponse, TestAssignment, TestAssignmentStatus, TestAssignmentsAdminParams, TestAssignmentsBulkInput, TestAssignmentsCreateInput, TestAssignmentsImportInput, TestAssignmentsListParams, TestAssignmentsListResponse, TestAssignmentsUpdateInput, TestOutParams, TestOutResponse, UpdateStudentItemResponseResult, UpdateStudentQuestionResponseInput, UpdateStudentQuestionResponseResult };
@@ -1 +1 @@
1
- {"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../src/public-types.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AAEnD,YAAY,EACX,gCAAgC,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,mCAAmC,EACnC,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,yCAAyC,EACzC,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wCAAwC,EACxC,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EAChC,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,aAAa,EACb,kCAAkC,GAClC,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../src/public-types.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AAEnD,YAAY,EACX,gCAAgC,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,mCAAmC,EACnC,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,yCAAyC,EACzC,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wCAAwC,EACxC,yCAAyC,EACzC,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EAChC,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,aAAa,EACb,kCAAkC,GAClC,MAAM,qBAAqB,CAAA"}
@@ -5,4 +5,5 @@ export { RenderConfigResource } from './render-config';
5
5
  export { ScreeningResource } from './screening';
6
6
  export { SyllabusResource } from './syllabus';
7
7
  export { TestAssignmentsResource } from './test-assignments';
8
+ export { TestOutResource } from './test-out';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Test Out Resource
3
+ *
4
+ * PowerPath self-elected test-out operations.
5
+ */
6
+ import type { GetTestOutEligibilityResponse, MakeExternalStudentTestOutAssignmentResponse } from '@timeback/types/protocols/powerpath';
7
+ import type { MakeExternalStudentTestOutAssignmentInput } from '@timeback/types/zod';
8
+ import type { PowerPathTransportLike } from '../types';
9
+ /**
10
+ * Test out resource for self-elected test-out eligibility and assignment creation.
11
+ */
12
+ export declare class TestOutResource {
13
+ private readonly transport;
14
+ /** @param transport - PowerPath transport instance */
15
+ constructor(transport: PowerPathTransportLike);
16
+ /**
17
+ * Check if a student is eligible to self-request a test-out for a subject.
18
+ *
19
+ * @param studentId - The student's OneRoster sourcedId
20
+ * @param subject - The subject to check eligibility for
21
+ * @returns Eligibility status and optional reason
22
+ */
23
+ getEligibility(studentId: string, subject: string): Promise<GetTestOutEligibilityResponse>;
24
+ /**
25
+ * Create a self-elected test-out assignment.
26
+ *
27
+ * @param input - Assignment data including oneRosterSourcedId and subject
28
+ * @returns Success status and optional data
29
+ */
30
+ createAssignment(input: MakeExternalStudentTestOutAssignmentInput): Promise<MakeExternalStudentTestOutAssignmentResponse>;
31
+ }
32
+ //# sourceMappingURL=test-out.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-out.d.ts","sourceRoot":"","sources":["../../src/resources/test-out.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EACX,6BAA6B,EAC7B,4CAA4C,EAC5C,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EAAE,yCAAyC,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEtD;;GAEG;AACH,qBAAa,eAAe;IAEf,OAAO,CAAC,QAAQ,CAAC,SAAS;IADtC,sDAAsD;IACtD,YAA6B,SAAS,EAAE,sBAAsB,EAAI;IAElE;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAMzF;IAED;;;;;OAKG;IACH,gBAAgB,CACf,KAAK,EAAE,yCAAyC,GAC9C,OAAO,CAAC,4CAA4C,CAAC,CAUvD;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timeback/powerpath",
3
- "version": "0.2.1-beta.20260314151810",
3
+ "version": "0.2.1-beta.20260314155353",
4
4
  "description": "PowerPath client SDK for Timeback",
5
5
  "type": "module",
6
6
  "exports": {