Data is synced from the Chrome Web Store. View the official store page for the most current information.
{
"update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwuYt45YLc\/W650gxV4+g6M5P3jbwDhqFy1aGPnU1GoeyzWV9SY7DQueG4eK37c1YP1sxbLqNYg1RrFJepqo6oKgqrlToWzzJVteit8Bz\/+LmGIG\/ixk0fgnAhTX\/jaRYy+\/6LEkTxYBlGqS7jSYmBQXEHB0cS6Ibam3YBI\/DB1u0NsMkAtwyYskJZUV8Qn825dmgW\/tE1zV15qWOwg052up58YbgjvaD+I84QOCnMe9Z6cm9xXv+CkY+GJm1yrDvYXvQ11jdGJLtA3DEqyFdAAzpTgZfXsEuwqUJP+dnJQGuzWGy\/qK3mY\/pFkumTKf6uojNd82jvUeuOdFaHUKvswIDAQAB",
"manifest_version": 3,
"name": "__MSG_extName__",
"short_name": "AI Timeline",
"version": "4.3.3",
"description": "__MSG_extDescription__",
"default_locale": "en",
"author": "yanchao hou",
"icons": {
"16": "icons\/icon16.png",
"48": "icons\/icon48.png",
"128": "icons\/icon128.png"
},
"permissions": [
"storage",
"unlimitedStorage",
"identity"
],
"oauth2": {
"client_id": "945798922226-gdjj6v37j5fueacci9253u0j1iasiht2.apps.googleusercontent.com",
"scopes": [
"https:\/\/www.googleapis.com\/auth\/drive.file"
]
},
"background": {
"service_worker": "js\/background.js"
},
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": [
"js\/global\/constants.js",
"js\/global\/dom-observer-manager\/index.js",
"js\/global\/ai-state-monitor\/index.js",
"js\/global\/tooltip-manager\/index.js",
"js\/global\/toast-manager\/index.js",
"js\/global\/input-modal\/index.js",
"js\/global\/dropdown-manager\/index.js",
"js\/global\/popconfirm-manager\/index.js",
"js\/global\/event-delegate-manager\/index.js",
"js\/formula\/latex-extractor.js",
"js\/formula\/formula-manager.js",
"js\/formula\/index.js",
"js\/panelModal\/base-tab.js",
"js\/panelModal\/tabs\/starred\/folder-manager.js",
"js\/panelModal\/tabs\/starred\/index.js",
"js\/panelModal\/tabs\/timeline\/index.js",
"js\/panelModal\/tabs\/prompt\/index.js",
"js\/panelModal\/tabs\/smartInputBox\/index.js",
"js\/panelModal\/tabs\/formula\/index.js",
"js\/runner\/codemirror\/codemirror.min.js",
"js\/runner\/codemirror\/javascript.min.js",
"js\/runner\/codemirror\/xml.min.js",
"js\/runner\/codemirror\/css.min.js",
"js\/runner\/codemirror\/python.min.js",
"js\/runner\/codemirror\/sql.min.js",
"js\/runner\/codemirror\/lua.min.js",
"js\/runner\/codemirror\/ruby.min.js",
"js\/runner\/codemirror\/htmlmixed.min.js",
"js\/runner\/codemirror\/markdown.min.js",
"js\/runner\/highlight\/highlight.core.min.js",
"js\/runner\/highlight\/javascript.min.js",
"js\/runner\/highlight\/python.min.js",
"js\/runner\/highlight\/typescript.min.js",
"js\/runner\/highlight\/sql.min.js",
"js\/runner\/highlight\/xml.min.js",
"js\/runner\/highlight\/css.min.js",
"js\/runner\/highlight\/json.min.js",
"js\/runner\/highlight\/markdown.min.js",
"js\/runner\/highlight\/lua.min.js",
"js\/runner\/highlight\/ruby.min.js",
"js\/runner\/libs\/marked.min.js",
"js\/runner\/highlight\/language-detector.js",
"js\/runner\/core\/base-runner.js",
"js\/runner\/languages\/javascript\/sandbox-manager.js",
"js\/runner\/languages\/javascript\/index.js",
"js\/runner\/languages\/python\/sandbox-manager.js",
"js\/runner\/languages\/python\/index.js",
"js\/runner\/languages\/typescript\/sandbox-manager.js",
"js\/runner\/languages\/typescript\/index.js",
"js\/runner\/languages\/sql\/sandbox-manager.js",
"js\/runner\/languages\/sql\/index.js",
"js\/runner\/languages\/html\/index.js",
"js\/runner\/languages\/json\/index.js",
"js\/runner\/languages\/markdown\/index.js",
"js\/runner\/languages\/lua\/sandbox-manager.js",
"js\/runner\/languages\/lua\/index.js",
"js\/runner\/languages\/ruby\/sandbox-manager.js",
"js\/runner\/languages\/ruby\/index.js",
"js\/runner\/languages\/registry.js",
"js\/runner\/runner-manager.js",
"js\/runner\/components\/runner-panel.js",
"js\/runner\/components\/floating-runner.js",
"js\/runner\/index.js",
"js\/panelModal\/tabs\/runner\/index.js",
"js\/panelModal\/tabs\/dataSync\/index.js",
"js\/panelModal\/tab-registry.js",
"js\/panelModal\/index.js",
"js\/smartInputBox\/constants.js",
"js\/smartInputBox\/adapters\/base.js",
"js\/smartInputBox\/adapters\/chatgpt.js",
"js\/smartInputBox\/adapters\/gemini.js",
"js\/smartInputBox\/adapters\/deepseek.js",
"js\/smartInputBox\/adapters\/kimi.js",
"js\/smartInputBox\/adapters\/perplexity.js",
"js\/smartInputBox\/adapters\/tongyi.js",
"js\/smartInputBox\/adapters\/grok.js",
"js\/smartInputBox\/adapters\/doubao.js",
"js\/smartInputBox\/adapters\/claude.js",
"js\/smartInputBox\/adapters\/yuanbao.js",
"js\/smartInputBox\/adapters\/notebooklm.js",
"js\/smartInputBox\/adapters\/registry.js",
"js\/smartInputBox\/prompt-button-manager.js",
"js\/smartInputBox\/smart-enter-manager.js",
"js\/smartInputBox\/index.js",
"js\/scrollToBottom\/scroll-to-bottom-manager.js",
"js\/timeline\/adapters\/base.js",
"js\/timeline\/adapters\/chatgpt.js",
"js\/timeline\/adapters\/gemini.js",
"js\/timeline\/adapters\/doubao.js",
"js\/timeline\/adapters\/deepseek.js",
"js\/timeline\/adapters\/yiyan.js",
"js\/timeline\/adapters\/tongyi.js",
"js\/timeline\/adapters\/kimi.js",
"js\/timeline\/adapters\/yuanbao.js",
"js\/timeline\/adapters\/grok.js",
"js\/timeline\/adapters\/perplexity.js",
"js\/timeline\/adapters\/claude.js",
"js\/timeline\/adapters\/notebooklm.js",
"js\/timeline\/adapters\/registry.js",
"js\/quoteReply\/quote-reply-manager.js",
"js\/quoteReply\/index.js",
"js\/timeline\/common.js",
"js\/timeline\/container-finder.js",
"js\/timeline\/star-input-modal\/star-input-modal.js",
"js\/timeline\/chat-time-recorder.js",
"js\/timeline\/timeline-manager.js",
"js\/timeline\/index.js"
],
"css": [
"styles\/variables.css",
"js\/global\/tooltip-manager\/styles.css",
"js\/global\/toast-manager\/styles.css",
"js\/global\/input-modal\/styles.css",
"js\/global\/dropdown-manager\/styles.css",
"js\/global\/popconfirm-manager\/styles.css",
"js\/panelModal\/styles.css",
"js\/panelModal\/tabs\/starred\/styles.css",
"js\/panelModal\/tabs\/timeline\/styles.css",
"js\/panelModal\/tabs\/prompt\/styles.css",
"js\/panelModal\/tabs\/smartInputBox\/styles.css",
"js\/panelModal\/tabs\/formula\/styles.css",
"js\/runner\/codemirror\/codemirror.min.css",
"js\/runner\/styles.css",
"js\/runner\/components\/runner-panel.css",
"js\/runner\/components\/floating-runner.css",
"js\/panelModal\/tabs\/runner\/styles.css",
"js\/panelModal\/tabs\/dataSync\/styles.css",
"js\/timeline\/star-input-modal\/star-input-modal.css",
"js\/timeline\/timeline.css",
"js\/formula\/formula.css",
"js\/smartInputBox\/prompt-button.css",
"js\/scrollToBottom\/styles.css",
"js\/quoteReply\/styles.css"
],
"run_at": "document_idle"
}
],
"web_accessible_resources": [
{
"resources": [
"images\/logo.png",
"images\/logo\/*.webp",
"js\/runner\/languages\/javascript\/sandbox.html",
"js\/runner\/languages\/javascript\/sandbox-script.js",
"js\/runner\/languages\/python\/sandbox.html",
"js\/runner\/languages\/python\/sandbox-script.js",
"js\/runner\/languages\/typescript\/sandbox.html",
"js\/runner\/languages\/typescript\/sandbox-script.js",
"js\/runner\/languages\/sql\/sandbox.html",
"js\/runner\/languages\/sql\/sandbox-script.js",
"js\/runner\/languages\/lua\/sandbox.html",
"js\/runner\/languages\/lua\/sandbox-script.js",
"js\/runner\/languages\/ruby\/sandbox.html",
"js\/runner\/languages\/ruby\/sandbox-script.js"
],
"matches": [
"<all_urls>"
]
}
],
"action": {
"default_title": "__MSG_extName__"
},
"sandbox": {
"pages": [
"js\/runner\/languages\/javascript\/sandbox.html",
"js\/runner\/languages\/python\/sandbox.html",
"js\/runner\/languages\/typescript\/sandbox.html",
"js\/runner\/languages\/sql\/sandbox.html",
"js\/runner\/languages\/lua\/sandbox.html",
"js\/runner\/languages\/ruby\/sandbox.html"
]
},
"content_security_policy": {
"sandbox": "sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval' https:\/\/cdn.jsdelivr.net https:\/\/cdn.opalrb.com; child-src 'self';"
}
}