Skip to content

Commit 40de4bb

Browse files
committed
build aiinfo
1 parent 30f0fd7 commit 40de4bb

29 files changed

Lines changed: 4177 additions & 3265 deletions

File tree

packages/aiinfo/Changelog.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# Changelog
22

3+
## 2026-02-26T01:18:38.305Z
4+
5+
### CSV
6+
7+
#### SHA
8+
9+
```diff
10+
8e7bcd63477a5917ac64ce5bf6cd2e3ae10fa087955aa49bceda3fa6071651a2
11+
```
12+
13+
### canvasgradingassistance
14+
15+
#### compliance.retention
16+
17+
```diff
18+
- "Transactional data is retained for the life of the requestCanvas"
19+
+ "Transactional data is retained for the life of the request."
20+
```
21+
322
## 2026-01-15T16:20:16.119Z
423

524
### CSV

packages/aiinfo/cache/cache.csv

Lines changed: 4 additions & 2 deletions
Large diffs are not rendered by default.

packages/aiinfo/cache/checksum.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
"aiexperiences": "3282c8bbf9ee851f2692795e99834c6dafd797c0d90a9d17dbf3c10cb314ec5a",
33
"askyourdata": "1456f9c89c19a76aaeb625bca7abcf43df7d38c267ecba064595e51992e10867",
44
"assessmentauthoringassistance": "39ff3b3d3b1c32add87c30b5e49cca3e0ac1952b78f2b94e1773e78a0c75e879",
5-
"bcealttext": "4b57f3eefb8b4b3a67529985a5fb5fd2fce09f3c8f357b92505b026516c8ccc4",
5+
"canvasa11ycheckeralttextgenerator": "47988fc4367ae4a31bdff623696c08c425f8370b2bda095beab0ca02378294f5",
6+
"canvasa11ycheckertablecaptions": "9e617d9026abb602e28c1919a132e6372d8784174d87a15fb19f036d8c87d5dd",
67
"canvascoursetranslation": "1a557a8a6dfc390987ca10d5dc8703fc8b2d1f5559e81d69fb3d6abc4c4739d2",
78
"canvasdiscussionsummaries": "2b254055c4db550e2ad1f0013ef2decf48d5956a9c70cf84d41aeeb5b7d3c9ea",
8-
"canvasgradingassistance": "0e9dcaa89b41a1cb9f428757572690b18c17386e6bd97fafb4eed7bb880ffd9e",
9+
"canvasgradingassistance": "885601257b7e4bd6aecf43c95bac315276358bbda21e2671b71f39fc0327cd46",
910
"canvasinboxtranslation": "84bb3ccb1ab6d5f762b94b885461c887ba7108dec72e97bfe53096f8b06d77b3",
11+
"careerassistant": "806384dc302e3208ecb4bbf8a2e0fd49a576d3265433fe905ce4d9111907a5e0",
1012
"conversionalignment": "49ba6c3bff2879e6ec7d722ea0f997174f62e12d30b19f6e44e172d88422b4bc",
11-
"CSV": "efe50b60419bf433e14b99ce3063c634256ec55219c99a594fbd0dff851a31fa",
13+
"CSV": "8e7bcd63477a5917ac64ce5bf6cd2e3ae10fa087955aa49bceda3fa6071651a2",
1214
"discussioninsights": "1a97ec1d0a3e461d5719909335d49d6095691ee3259ce092f8c9163e0146b492",
1315
"igniteagent": "ccb16cbc398ab780d7cbff5f4726cb46e0a9a7b9ac9eabdcd0b5ad617bda7fd9",
1416
"itemauthoringassistance": "ab5a58022db9dbe8c97b4adef98d78993d5356dcdf3ff6d3f19e8d04c9fdf2e3",

packages/aiinfo/node/components/aiexperiences/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ const aiInformation: AiInformationProps = {
153153
modelNameText: "Base Model",
154154
nutritionFactsModalTriggerText: "AI Nutrition Facts",
155155
permissionLevel: "LEVEL 2",
156-
permissionLevelText: "Permission Level:",
157156
permissionLevelsModalTriggerText: "Data Permission Levels",
157+
permissionLevelText: "Permission Level:",
158158
privacyNoticeText: "",
159159
privacyNoticeUrl: "",
160160
},

packages/aiinfo/node/components/askyourdata/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ const aiInformation: AiInformationProps = {
153153
modelNameText: "Base Model",
154154
nutritionFactsModalTriggerText: "AI Nutrition Facts",
155155
permissionLevel: "LEVEL 2",
156-
permissionLevelText: "Permission Level:",
157156
permissionLevelsModalTriggerText: "Data Permission Levels",
157+
permissionLevelText: "Permission Level:",
158158
privacyNoticeText: "",
159159
privacyNoticeUrl: "",
160160
},

packages/aiinfo/node/components/assessmentauthoringassistance/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ const aiInformation: AiInformationProps = {
153153
modelNameText: "Base Model",
154154
nutritionFactsModalTriggerText: "AI Nutrition Facts",
155155
permissionLevel: "LEVEL 2",
156-
permissionLevelText: "Permission Level:",
157156
permissionLevelsModalTriggerText: "Data Permission Levels",
157+
permissionLevelText: "Permission Level:",
158158
privacyNoticeText: "",
159159
privacyNoticeUrl: "",
160160
},
Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
import {
2+
type AiInformationProps,
3+
type DataPermissionLevelsProps,
4+
type NutritionFactsProps,
5+
} from "@instructure/ui-instructure";
6+
import { type AiInfoFeatureProps } from "../../types";
7+
const FEATURE_NAME = "Course Accessibility Checker: Image alt text generation";
8+
const UID = "canvasa11ycheckeralttextgenerator";
9+
const DATA_PERMISSION_LEVELS: DataPermissionLevelsProps["data"] = [
10+
{
11+
description:
12+
"We leverage anonymized aggregate data for detailed analytics to inform model development and product improvements. No AI models are used at this level.",
13+
highlighted: false,
14+
level: "LEVEL 1",
15+
title: "Descriptive Analytics and Research",
16+
},
17+
{
18+
description:
19+
"We utilize off-the-shelf AI models and customer data as input to provide AI-powered features. No data is used for training this model.",
20+
highlighted: true,
21+
level: "LEVEL 2",
22+
title: "AI-Powered Features Without Data Training",
23+
},
24+
{
25+
description:
26+
"We customize AI solutions tailored to the unique needs and resources of educational institutions. We use customer data to fine-tune data and train AI models that only serve your institution. Your institution's data only serves them through trained models.",
27+
highlighted: false,
28+
level: "LEVEL 3",
29+
title: "AI Customization for Individual Institutions",
30+
},
31+
{
32+
description:
33+
"We established a consortium with educational institutions that shares anonymized data, best practices, and research findings. This fosters collaboration and accelerates the responsible development of AI in education. Specialized AI models are created for better outcomes in education, cost savings, and more.",
34+
highlighted: false,
35+
level: "LEVEL 4",
36+
title: "Collaborative AI Consortium",
37+
},
38+
];
39+
const NUTRITION_FACTS_DATA: NutritionFactsProps["data"] = [
40+
{
41+
blockTitle: "Model & Data",
42+
segmentData: [
43+
{
44+
description: "The foundational AI on which further training and customizations are built.",
45+
segmentTitle: "Base Model",
46+
value: "Haiku 3",
47+
valueDescription:
48+
"Anthropic Claude models are provided via Instructure's in-house AI Platform.",
49+
},
50+
{
51+
description:
52+
"Indicates the AI model has been given customer data in order to improve its results.",
53+
segmentTitle: "Trained with User Data",
54+
value: "No",
55+
},
56+
{
57+
description: "Indicates which training or operational content was given to the model.",
58+
segmentTitle: "Data Shared with Model",
59+
value: "Images uploaded to Canvas via RCX",
60+
},
61+
],
62+
},
63+
{
64+
blockTitle: "Privacy & Compliance",
65+
segmentData: [
66+
{
67+
description: "How long the model stores customer data.",
68+
segmentTitle: "Data Retention",
69+
value: "Data is not stored or reused by the model.",
70+
},
71+
{
72+
description: "Recording the AI's performance for auditing, analysis, and improvement.",
73+
segmentTitle: "Data Logging",
74+
value: "Logs data",
75+
valueDescription: "Usage data is logged to improve the product.",
76+
},
77+
{
78+
description: "The locations where the AI model is officially available and supported.",
79+
segmentTitle: "Regions Supported",
80+
value: "Global",
81+
valueDescription: "",
82+
},
83+
{
84+
description: "Sensitive data that can be used to identify an individual.",
85+
segmentTitle: "PII",
86+
value: "Not Exposed",
87+
valueDescription:
88+
"PII in source material may be sent to the model if included in the analyzed image, but no PII is intentionally sent to the model.",
89+
},
90+
],
91+
},
92+
{
93+
blockTitle: "Outputs",
94+
segmentData: [
95+
{
96+
description: "The ability to turn the AI on or off within the product.",
97+
segmentTitle: "AI Settings Control",
98+
value: "Yes",
99+
},
100+
{
101+
description: "Indicates if a human is involved in the AI's process or output.",
102+
segmentTitle: "Human in the Loop",
103+
value: "Yes",
104+
valueDescription:
105+
"Users can edit the generated alt text, and they have the option to save it or not.",
106+
},
107+
{
108+
description: "Preventative safety mechanisms or limitations built into the AI model.",
109+
segmentTitle: "Guardrails",
110+
value: "",
111+
},
112+
{
113+
description: "Any risks the model may pose to the user.",
114+
segmentTitle: "Expected Risks",
115+
value:
116+
"While the model can fairly accurately describe what's on a picture, it might not always convey what the picture is meant to convey in the given context. ",
117+
},
118+
{
119+
description: "The specific results the AI model is meant to achieve.",
120+
segmentTitle: "Intended Outcomes",
121+
value: "Reduce time spent on writing alt text. ",
122+
},
123+
],
124+
},
125+
];
126+
const nutritionFacts: NutritionFactsProps = {
127+
closeButtonText: "Close",
128+
closeIconButtonScreenReaderLabel: "Close",
129+
data: NUTRITION_FACTS_DATA,
130+
featureName: FEATURE_NAME,
131+
modalLabel: "This is a modal for AI facts",
132+
title: "AI Nutrition Facts",
133+
triggerText: "Nutrition Facts",
134+
};
135+
const dataPermissionLevels: DataPermissionLevelsProps = {
136+
closeButtonText: "Close",
137+
closeIconButtonScreenReaderLabel: "Close dialog",
138+
currentFeature: FEATURE_NAME,
139+
currentFeatureText: "Current Feature:",
140+
data: DATA_PERMISSION_LEVELS,
141+
modalLabel: "Data Permission Levels modal",
142+
title: "Data Permission Levels",
143+
triggerText: "Data Permission Levels",
144+
};
145+
const aiInformation: AiInformationProps = {
146+
data: [
147+
{
148+
description:
149+
"We utilize off-the-shelf AI models and customer data as input to provide AI-powered features. No data is used for training this model.",
150+
featureName: "Course Accessibility Checker: Image alt text generation",
151+
modelName: "Haiku 3",
152+
modelNameText: "Base Model",
153+
nutritionFactsModalTriggerText: "AI Nutrition Facts",
154+
permissionLevel: "LEVEL 2",
155+
permissionLevelsModalTriggerText: "Data Permission Levels",
156+
permissionLevelText: "Permission Level:",
157+
privacyNoticeText: "",
158+
privacyNoticeUrl: "",
159+
},
160+
],
161+
dataPermissionLevelsCloseButtonText: "Close",
162+
dataPermissionLevelsCloseIconButtonScreenReaderLabel: "Close dialog",
163+
dataPermissionLevelsCurrentFeature: "Course Accessibility Checker: Image alt text generation",
164+
dataPermissionLevelsCurrentFeatureText: "Current Feature:",
165+
dataPermissionLevelsData: DATA_PERMISSION_LEVELS,
166+
dataPermissionLevelsModalLabel: "Data Permission Levels modal",
167+
dataPermissionLevelsTitle: "Data Permission Levels",
168+
nutritionFactsCloseButtonText: "Close",
169+
nutritionFactsCloseIconButtonScreenReaderLabel: "Close",
170+
nutritionFactsData: NUTRITION_FACTS_DATA,
171+
nutritionFactsFeatureName: "Course Accessibility Checker: Image alt text generation",
172+
nutritionFactsModalLabel: "This is a modal for AI facts",
173+
nutritionFactsTitle: "AI Nutrition Facts",
174+
title: "Features",
175+
trigger: undefined,
176+
};
177+
const canvasa11ycheckeralttextgenerator: AiInfoFeatureProps = {
178+
aiInformation,
179+
dataPermissionLevels,
180+
description:
181+
"A button that generates alt text for images that don't have alt text, or there was a problem identified with it (it's too long or it's just the filename.)",
182+
group: "Canvas",
183+
name: FEATURE_NAME,
184+
nutritionFacts,
185+
revision: "2026.02.25",
186+
uid: UID,
187+
};
188+
export { canvasa11ycheckeralttextgenerator, nutritionFacts, dataPermissionLevels, aiInformation };
189+
export default canvasa11ycheckeralttextgenerator;

0 commit comments

Comments
 (0)