@ibgib/web-gib 0.0.1
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/.ibgibignore +30 -0
- package/.vscode/ibgib-snippets.code-snippets +309 -0
- package/.vscode/launch.json +25 -0
- package/.vscode/settings.json +68 -0
- package/.vscode/tasks.json +38 -0
- package/CHANGELOG.md +427 -0
- package/README.md +66 -0
- package/dist/agent-texts/common-agent-texts.d.mts +14 -0
- package/dist/agent-texts/common-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/common-agent-texts.mjs +51 -0
- package/dist/agent-texts/common-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/primary-agent-texts.d.mts +16 -0
- package/dist/agent-texts/primary-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/primary-agent-texts.mjs +27 -0
- package/dist/agent-texts/primary-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/project-agent-texts.d.mts +8 -0
- package/dist/agent-texts/project-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/project-agent-texts.mjs +29 -0
- package/dist/agent-texts/project-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/project-child-text-agent-texts.d.mts +5 -0
- package/dist/agent-texts/project-child-text-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/project-child-text-agent-texts.mjs +26 -0
- package/dist/agent-texts/project-child-text-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/projects-agent-texts.d.mts +4 -0
- package/dist/agent-texts/projects-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/projects-agent-texts.mjs +15 -0
- package/dist/agent-texts/projects-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/raw-agent-texts.d.mts +4 -0
- package/dist/agent-texts/raw-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/raw-agent-texts.mjs +17 -0
- package/dist/agent-texts/raw-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/text-editor-agent-texts.d.mts +6 -0
- package/dist/agent-texts/text-editor-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/text-editor-agent-texts.mjs +19 -0
- package/dist/agent-texts/text-editor-agent-texts.mjs.map +1 -0
- package/dist/api/api-constants.d.mts +9 -0
- package/dist/api/api-constants.d.mts.map +1 -0
- package/dist/api/api-constants.mjs +9 -0
- package/dist/api/api-constants.mjs.map +1 -0
- package/dist/api/api-index.d.mts +10 -0
- package/dist/api/api-index.d.mts.map +1 -0
- package/dist/api/api-index.mjs +121 -0
- package/dist/api/api-index.mjs.map +1 -0
- package/dist/api/api-types.d.mts +36 -0
- package/dist/api/api-types.d.mts.map +1 -0
- package/dist/api/api-types.mjs +2 -0
- package/dist/api/api-types.mjs.map +1 -0
- package/dist/api/commands/chat/chat-index.d.mts +3 -0
- package/dist/api/commands/chat/chat-index.d.mts.map +1 -0
- package/dist/api/commands/chat/chat-index.mjs +9 -0
- package/dist/api/commands/chat/chat-index.mjs.map +1 -0
- package/dist/api/commands/chat/get-context-info.d.mts +71 -0
- package/dist/api/commands/chat/get-context-info.d.mts.map +1 -0
- package/dist/api/commands/chat/get-context-info.mjs +130 -0
- package/dist/api/commands/chat/get-context-info.mjs.map +1 -0
- package/dist/api/commands/chat/hello-world.d.mts +63 -0
- package/dist/api/commands/chat/hello-world.d.mts.map +1 -0
- package/dist/api/commands/chat/hello-world.mjs +132 -0
- package/dist/api/commands/chat/hello-world.mjs.map +1 -0
- package/dist/api/commands/chat/tell-user.d.mts +57 -0
- package/dist/api/commands/chat/tell-user.d.mts.map +1 -0
- package/dist/api/commands/chat/tell-user.mjs +199 -0
- package/dist/api/commands/chat/tell-user.mjs.map +1 -0
- package/dist/api/commands/command-constants.d.mts +22 -0
- package/dist/api/commands/command-constants.d.mts.map +1 -0
- package/dist/api/commands/command-constants.mjs +17 -0
- package/dist/api/commands/command-constants.mjs.map +1 -0
- package/dist/api/commands/command-helpers.d.mts +47 -0
- package/dist/api/commands/command-helpers.d.mts.map +1 -0
- package/dist/api/commands/command-helpers.mjs +76 -0
- package/dist/api/commands/command-helpers.mjs.map +1 -0
- package/dist/api/commands/command-service-v1.d.mts +28 -0
- package/dist/api/commands/command-service-v1.d.mts.map +1 -0
- package/dist/api/commands/command-service-v1.mjs +122 -0
- package/dist/api/commands/command-service-v1.mjs.map +1 -0
- package/dist/api/commands/command-service.respec.d.mts +7 -0
- package/dist/api/commands/command-service.respec.d.mts.map +1 -0
- package/dist/api/commands/command-service.respec.mjs +66 -0
- package/dist/api/commands/command-service.respec.mjs.map +1 -0
- package/dist/api/commands/command-types.d.mts +48 -0
- package/dist/api/commands/command-types.d.mts.map +1 -0
- package/dist/api/commands/command-types.mjs +12 -0
- package/dist/api/commands/command-types.mjs.map +1 -0
- package/dist/api/commands/ibgib/get-ibgibs.d.mts +94 -0
- package/dist/api/commands/ibgib/get-ibgibs.d.mts.map +1 -0
- package/dist/api/commands/ibgib/get-ibgibs.mjs +219 -0
- package/dist/api/commands/ibgib/get-ibgibs.mjs.map +1 -0
- package/dist/api/commands/ibgib/ibgib-index.d.mts +3 -0
- package/dist/api/commands/ibgib/ibgib-index.d.mts.map +1 -0
- package/dist/api/commands/ibgib/ibgib-index.mjs +7 -0
- package/dist/api/commands/ibgib/ibgib-index.mjs.map +1 -0
- package/dist/api/commands/ibgib/mut8-ibgib.d.mts +135 -0
- package/dist/api/commands/ibgib/mut8-ibgib.d.mts.map +1 -0
- package/dist/api/commands/ibgib/mut8-ibgib.mjs +318 -0
- package/dist/api/commands/ibgib/mut8-ibgib.mjs.map +1 -0
- package/dist/api/commands/templates/api-function-info.template.d.mts +73 -0
- package/dist/api/commands/templates/api-function-info.template.d.mts.map +1 -0
- package/dist/api/commands/templates/api-function-info.template.mjs +161 -0
- package/dist/api/commands/templates/api-function-info.template.mjs.map +1 -0
- package/dist/api/commands/text/text-edit.d.mts +54 -0
- package/dist/api/commands/text/text-edit.d.mts.map +1 -0
- package/dist/api/commands/text/text-edit.mjs +170 -0
- package/dist/api/commands/text/text-edit.mjs.map +1 -0
- package/dist/api/commands/text/text-index.d.mts +3 -0
- package/dist/api/commands/text/text-index.d.mts.map +1 -0
- package/dist/api/commands/text/text-index.mjs +5 -0
- package/dist/api/commands/text/text-index.mjs.map +1 -0
- package/dist/api/commands/ui/ui-index.d.mts +3 -0
- package/dist/api/commands/ui/ui-index.d.mts.map +1 -0
- package/dist/api/commands/ui/ui-index.mjs +5 -0
- package/dist/api/commands/ui/ui-index.mjs.map +1 -0
- package/dist/api/commands/ui/update-css-variables.d.mts +48 -0
- package/dist/api/commands/ui/update-css-variables.d.mts.map +1 -0
- package/dist/api/commands/ui/update-css-variables.mjs +145 -0
- package/dist/api/commands/ui/update-css-variables.mjs.map +1 -0
- package/dist/api/function-infos.web.d.mts +15 -0
- package/dist/api/function-infos.web.d.mts.map +1 -0
- package/dist/api/function-infos.web.mjs +63 -0
- package/dist/api/function-infos.web.mjs.map +1 -0
- package/dist/assumptions.respec.d.mts +2 -0
- package/dist/assumptions.respec.d.mts.map +1 -0
- package/dist/assumptions.respec.mjs +41 -0
- package/dist/assumptions.respec.mjs.map +1 -0
- package/dist/common/project/project-constants.d.mts +38 -0
- package/dist/common/project/project-constants.d.mts.map +1 -0
- package/dist/common/project/project-constants.mjs +71 -0
- package/dist/common/project/project-constants.mjs.map +1 -0
- package/dist/common/project/project-helper.d.mts +127 -0
- package/dist/common/project/project-helper.d.mts.map +1 -0
- package/dist/common/project/project-helper.mjs +683 -0
- package/dist/common/project/project-helper.mjs.map +1 -0
- package/dist/common/project/project-types.d.mts +91 -0
- package/dist/common/project/project-types.d.mts.map +1 -0
- package/dist/common/project/project-types.mjs +31 -0
- package/dist/common/project/project-types.mjs.map +1 -0
- package/dist/common/prompt-functions.web.d.mts +90 -0
- package/dist/common/prompt-functions.web.d.mts.map +1 -0
- package/dist/common/prompt-functions.web.mjs +426 -0
- package/dist/common/prompt-functions.web.mjs.map +1 -0
- package/dist/common/settings/settings-constants.d.mts +33 -0
- package/dist/common/settings/settings-constants.d.mts.map +1 -0
- package/dist/common/settings/settings-constants.mjs +54 -0
- package/dist/common/settings/settings-constants.mjs.map +1 -0
- package/dist/common/settings/settings-helpers.d.mts +59 -0
- package/dist/common/settings/settings-helpers.d.mts.map +1 -0
- package/dist/common/settings/settings-helpers.mjs +253 -0
- package/dist/common/settings/settings-helpers.mjs.map +1 -0
- package/dist/common/settings/settings-types.d.mts +118 -0
- package/dist/common/settings/settings-types.d.mts.map +1 -0
- package/dist/common/settings/settings-types.mjs +13 -0
- package/dist/common/settings/settings-types.mjs.map +1 -0
- package/dist/constants.d.mts +34 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.mjs +35 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/foo.d.mts +2 -0
- package/dist/foo.d.mts.map +1 -0
- package/dist/foo.mjs +19 -0
- package/dist/foo.mjs.map +1 -0
- package/dist/helpers.d.mts +137 -0
- package/dist/helpers.d.mts.map +1 -0
- package/dist/helpers.mjs +514 -0
- package/dist/helpers.mjs.map +1 -0
- package/dist/helpers.web.d.mts +324 -0
- package/dist/helpers.web.d.mts.map +1 -0
- package/dist/helpers.web.mjs +1133 -0
- package/dist/helpers.web.mjs.map +1 -0
- package/dist/helpers.web.respec.d.mts +2 -0
- package/dist/helpers.web.respec.d.mts.map +1 -0
- package/dist/helpers.web.respec.mjs +12 -0
- package/dist/helpers.web.respec.mjs.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -0
- package/dist/respec-gib.node.d.mts +2 -0
- package/dist/respec-gib.node.d.mts.map +1 -0
- package/dist/respec-gib.node.mjs +211 -0
- package/dist/respec-gib.node.mjs.map +1 -0
- package/dist/spec-helper.node.respec.d.mts +13 -0
- package/dist/spec-helper.node.respec.d.mts.map +1 -0
- package/dist/spec-helper.node.respec.mjs +50 -0
- package/dist/spec-helper.node.respec.mjs.map +1 -0
- package/dist/storage/storage-helpers.web.d.mts +108 -0
- package/dist/storage/storage-helpers.web.d.mts.map +1 -0
- package/dist/storage/storage-helpers.web.mjs +757 -0
- package/dist/storage/storage-helpers.web.mjs.map +1 -0
- package/dist/storage/storage-types.web.d.mts +30 -0
- package/dist/storage/storage-types.web.d.mts.map +1 -0
- package/dist/storage/storage-types.web.mjs +2 -0
- package/dist/storage/storage-types.web.mjs.map +1 -0
- package/dist/types.web.d.mts +42 -0
- package/dist/types.web.d.mts.map +1 -0
- package/dist/types.web.mjs +2 -0
- package/dist/types.web.mjs.map +1 -0
- package/dist/ui/component/component-types.d.mts +225 -0
- package/dist/ui/component/component-types.d.mts.map +1 -0
- package/dist/ui/component/component-types.mjs +2 -0
- package/dist/ui/component/component-types.mjs.map +1 -0
- package/dist/ui/component/ibgib-component-service.d.mts +70 -0
- package/dist/ui/component/ibgib-component-service.d.mts.map +1 -0
- package/dist/ui/component/ibgib-component-service.mjs +201 -0
- package/dist/ui/component/ibgib-component-service.mjs.map +1 -0
- package/dist/ui/component/ibgib-dynamic-component-bases.d.mts +338 -0
- package/dist/ui/component/ibgib-dynamic-component-bases.d.mts.map +1 -0
- package/dist/ui/component/ibgib-dynamic-component-bases.mjs +1304 -0
- package/dist/ui/component/ibgib-dynamic-component-bases.mjs.map +1 -0
- package/dist/ui/ui-constants.d.mts +12 -0
- package/dist/ui/ui-constants.d.mts.map +1 -0
- package/dist/ui/ui-constants.mjs +93 -0
- package/dist/ui/ui-constants.mjs.map +1 -0
- package/dist/ui/ui-helpers.d.mts +42 -0
- package/dist/ui/ui-helpers.d.mts.map +1 -0
- package/dist/ui/ui-helpers.mjs +198 -0
- package/dist/ui/ui-helpers.mjs.map +1 -0
- package/dist/ui/ui-types.d.mts +13 -0
- package/dist/ui/ui-types.d.mts.map +1 -0
- package/dist/ui/ui-types.mjs +2 -0
- package/dist/ui/ui-types.mjs.map +1 -0
- package/dist/witness/agent/agent-constants.d.mts +97 -0
- package/dist/witness/agent/agent-constants.d.mts.map +1 -0
- package/dist/witness/agent/agent-constants.mjs +98 -0
- package/dist/witness/agent/agent-constants.mjs.map +1 -0
- package/dist/witness/agent/agent-helpers.d.mts +106 -0
- package/dist/witness/agent/agent-helpers.d.mts.map +1 -0
- package/dist/witness/agent/agent-helpers.mjs +601 -0
- package/dist/witness/agent/agent-helpers.mjs.map +1 -0
- package/dist/witness/agent/agent-one-file.app.d.mts +2 -0
- package/dist/witness/agent/agent-one-file.app.d.mts.map +1 -0
- package/dist/witness/agent/agent-one-file.app.mjs +8 -0
- package/dist/witness/agent/agent-one-file.app.mjs.map +1 -0
- package/dist/witness/agent/agent-one-file.d.mts +478 -0
- package/dist/witness/agent/agent-one-file.d.mts.map +1 -0
- package/dist/witness/agent/agent-one-file.mjs +1462 -0
- package/dist/witness/agent/agent-one-file.mjs.map +1 -0
- package/dist/witness/agent/agent-types.d.mts +83 -0
- package/dist/witness/agent/agent-types.d.mts.map +1 -0
- package/dist/witness/agent/agent-types.mjs +2 -0
- package/dist/witness/agent/agent-types.mjs.map +1 -0
- package/dist/witness/agent/agents-service-v1.d.mts +99 -0
- package/dist/witness/agent/agents-service-v1.d.mts.map +1 -0
- package/dist/witness/agent/agents-service-v1.mjs +453 -0
- package/dist/witness/agent/agents-service-v1.mjs.map +1 -0
- package/dist/witness/agent/function-info/function-info-one-file.d.mts +192 -0
- package/dist/witness/agent/function-info/function-info-one-file.d.mts.map +1 -0
- package/dist/witness/agent/function-info/function-info-one-file.mjs +192 -0
- package/dist/witness/agent/function-info/function-info-one-file.mjs.map +1 -0
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.d.mts +51 -0
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.d.mts.map +1 -0
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.mjs +928 -0
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.mjs.map +1 -0
- package/dist/witness/agent/gemini/gemini-agent-factory.d.mts +27 -0
- package/dist/witness/agent/gemini/gemini-agent-factory.d.mts.map +1 -0
- package/dist/witness/agent/gemini/gemini-agent-factory.mjs +144 -0
- package/dist/witness/agent/gemini/gemini-agent-factory.mjs.map +1 -0
- package/dist/witness/agent/gemini/gemini-constants.d.mts +36 -0
- package/dist/witness/agent/gemini/gemini-constants.d.mts.map +1 -0
- package/dist/witness/agent/gemini/gemini-constants.mjs +47 -0
- package/dist/witness/agent/gemini/gemini-constants.mjs.map +1 -0
- package/dist/witness/agent/gemini/gemini-helpers.d.mts +58 -0
- package/dist/witness/agent/gemini/gemini-helpers.d.mts.map +1 -0
- package/dist/witness/agent/gemini/gemini-helpers.mjs +210 -0
- package/dist/witness/agent/gemini/gemini-helpers.mjs.map +1 -0
- package/dist/witness/agent/gemini/gemini-types.d.mts +82 -0
- package/dist/witness/agent/gemini/gemini-types.d.mts.map +1 -0
- package/dist/witness/agent/gemini/gemini-types.mjs +3 -0
- package/dist/witness/agent/gemini/gemini-types.mjs.map +1 -0
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.d.mts +136 -0
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.d.mts.map +1 -0
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.mjs +334 -0
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.mjs.map +1 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.d.mts +35 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.d.mts.map +1 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.mjs +267 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.mjs.map +1 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.d.mts +134 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.d.mts.map +1 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.mjs +389 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.mjs.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-constants.d.mts +2 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-constants.d.mts.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-constants.mjs +2 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-constants.mjs.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-helper.d.mts +104 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-helper.d.mts.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-helper.mjs +457 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-helper.mjs.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-types.d.mts +93 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-types.d.mts.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-types.mjs +98 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-types.mjs.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-v1.d.mts +73 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-v1.d.mts.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-v1.mjs +650 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-v1.mjs.map +1 -0
- package/generate-version-file.js +29 -0
- package/package.json +60 -0
- package/src/agent-texts/common-agent-texts.mts +61 -0
- package/src/agent-texts/primary-agent-texts.mts +32 -0
- package/src/agent-texts/project-agent-texts.mts +29 -0
- package/src/agent-texts/project-child-text-agent-texts.mts +30 -0
- package/src/agent-texts/projects-agent-texts.mts +17 -0
- package/src/agent-texts/raw-agent-texts.mts +18 -0
- package/src/agent-texts/text-editor-agent-texts.mts +20 -0
- package/src/api/api-constants.mts +8 -0
- package/src/api/api-index.mts +110 -0
- package/src/api/api-types.mts +36 -0
- package/src/api/commands/chat/chat-index.mts +10 -0
- package/src/api/commands/chat/get-context-info.mts +196 -0
- package/src/api/commands/chat/hello-world.mts +183 -0
- package/src/api/commands/chat/tell-user.mts +241 -0
- package/src/api/commands/command-constants.mts +17 -0
- package/src/api/commands/command-helpers.mts +105 -0
- package/src/api/commands/command-service-v1.mts +136 -0
- package/src/api/commands/command-service.respec.mts +72 -0
- package/src/api/commands/command-types.mts +71 -0
- package/src/api/commands/ibgib/get-ibgibs.mts +269 -0
- package/src/api/commands/ibgib/ibgib-index.mts +8 -0
- package/src/api/commands/ibgib/mut8-ibgib.mts +418 -0
- package/src/api/commands/templates/api-function-info.template.mts +212 -0
- package/src/api/commands/text/text-edit.mts +217 -0
- package/src/api/commands/text/text-index.mts +6 -0
- package/src/api/commands/ui/ui-index.mts +6 -0
- package/src/api/commands/ui/update-css-variables.mts +187 -0
- package/src/api/function-infos.web.mts +66 -0
- package/src/assets/fullscreen-dialog.html +18 -0
- package/src/assumptions.respec.mts +51 -0
- package/src/common/project/project-constants.mts +83 -0
- package/src/common/project/project-helper.mts +730 -0
- package/src/common/project/project-types.mts +121 -0
- package/src/common/prompt-functions.web.mts +447 -0
- package/src/common/settings/settings-constants.mts +72 -0
- package/src/common/settings/settings-helpers.mts +280 -0
- package/src/common/settings/settings-types.mts +137 -0
- package/src/constants.mts +39 -0
- package/src/foo.mts +13 -0
- package/src/helpers.mts +574 -0
- package/src/helpers.web.mts +1277 -0
- package/src/helpers.web.respec.mts +16 -0
- package/src/index.mts +3 -0
- package/src/respec-gib.node.mts +199 -0
- package/src/spec-helper.node.respec.mts +50 -0
- package/src/storage/storage-helpers.web.mts +728 -0
- package/src/storage/storage-types.web.mts +29 -0
- package/src/types.web.mts +42 -0
- package/src/ui/component/component-types.mts +241 -0
- package/src/ui/component/ibgib-component-service.mts +201 -0
- package/src/ui/component/ibgib-dynamic-component-bases.mts +1369 -0
- package/src/ui/ui-constants.mts +101 -0
- package/src/ui/ui-helpers.mts +222 -0
- package/src/ui/ui-types.mts +11 -0
- package/src/witness/agent/agent-constants.mts +122 -0
- package/src/witness/agent/agent-helpers.mts +681 -0
- package/src/witness/agent/agent-one-file.app.mts +8 -0
- package/src/witness/agent/agent-one-file.mts +1665 -0
- package/src/witness/agent/agent-types.mts +92 -0
- package/src/witness/agent/agents-service-v1.mts +482 -0
- package/src/witness/agent/function-info/function-info-one-file.mts +362 -0
- package/src/witness/agent/gemini/agent-witness-gemini-v1.mts +910 -0
- package/src/witness/agent/gemini/gemini-agent-factory.mts +135 -0
- package/src/witness/agent/gemini/gemini-constants.mts +79 -0
- package/src/witness/agent/gemini/gemini-helpers.mts +216 -0
- package/src/witness/agent/gemini/gemini-types.mts +88 -0
- package/src/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.mts +321 -0
- package/src/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.mts +290 -0
- package/src/witness/space/metaspace/metaspace-webspace/metaspace-webspace.mts +407 -0
- package/src/witness/space/web-filesystem-space/web-filesystem-space-constants.mts +1 -0
- package/src/witness/space/web-filesystem-space/web-filesystem-space-helper.mts +491 -0
- package/src/witness/space/web-filesystem-space/web-filesystem-space-types.mts +172 -0
- package/src/witness/space/web-filesystem-space/web-filesystem-space-v1.mts +670 -0
- package/tsconfig.json +17 -0
- package/tsconfig.test.json +10 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
# blank-gib - CHANGELOG
|
|
2
|
+
|
|
3
|
+
I'm begrudgingly starting this changelog file in lieu of having ibgib itself for
|
|
4
|
+
versioning and meta-versioning. So this will be a manual set of notes of what
|
|
5
|
+
I'm doing per upgrade. This should be automatically created per "commit", and
|
|
6
|
+
really this should just be a regular part of the "chat" that is this project.
|
|
7
|
+
We'll get there eventually!
|
|
8
|
+
|
|
9
|
+
## v0.15.12
|
|
10
|
+
* progress: keystone respecs passing Suite A - D
|
|
11
|
+
* still working on low level improvements
|
|
12
|
+
* stopping now at the point before breaking out validate code to also
|
|
13
|
+
include validating individual frame and validating the entire keystone
|
|
14
|
+
graph/timeline intrinsically.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## v0.15.10
|
|
18
|
+
* progress: testing for keystone mechanics
|
|
19
|
+
* innerspace and metaspace_innerspace still not functional for testing
|
|
20
|
+
* I think it has something to do with needing singletons for space ibgibs,
|
|
21
|
+
which is a non-trivial problem (for any singleton ibgib)
|
|
22
|
+
* using a mock metaspace and space, seems to be working okay
|
|
23
|
+
* Suite A and B tests are passing
|
|
24
|
+
* Currently working on Suite C which is failing. We are moving to a better
|
|
25
|
+
validation function that will provide validation errors instead of an
|
|
26
|
+
opaque boolean.
|
|
27
|
+
|
|
28
|
+
## v0.15.6
|
|
29
|
+
* impl: upgraded build to handle respec-gib testing
|
|
30
|
+
* npm run test did not work, as this was still configured for the simpler
|
|
31
|
+
pre-esbuild build process.
|
|
32
|
+
* added build-test.mts as esbuild target and tsconfig
|
|
33
|
+
* progress: keystone plumbing
|
|
34
|
+
* restarting bottom up keystone with Gemini 3.0 collab
|
|
35
|
+
* https://aistudio.google.com/prompts/1-Itqn0afYpgnm-ajEID8Mv0SAHii7OBY
|
|
36
|
+
* largely me driving higher level and getting Gemini 3.0 up-to-speed on
|
|
37
|
+
understanding the architecture enabled by the ibgib protocol, with Gemini
|
|
38
|
+
iterating on implementation details.
|
|
39
|
+
* the factory style approach was Gemini's idea, which is a good tactical
|
|
40
|
+
decision IMO
|
|
41
|
+
* deferring refactoring most names until after, as that causes hiccups with
|
|
42
|
+
LLMs
|
|
43
|
+
* doing in blank-gib/keystone for now for ease of development
|
|
44
|
+
* this was the driver to get the testing working for blank-gib using the new
|
|
45
|
+
esbuild process
|
|
46
|
+
* meta: iterating styleguide
|
|
47
|
+
* using entire styleguide as part of system text for Gemini in Google's AI
|
|
48
|
+
Studio
|
|
49
|
+
|
|
50
|
+
## v0.15.3
|
|
51
|
+
|
|
52
|
+
* **Refactor: Rabbit Hole Comment Architecture**
|
|
53
|
+
* Changed details views to toggle-based. Now you can see tldr AND translation AND key points.
|
|
54
|
+
* Overhauled the component to use a consistent, template-based system for all detail views (TLDR, Translate, Key Points).
|
|
55
|
+
* Views are now created dynamically on-demand, improving initial render performance.
|
|
56
|
+
* **Fix: collapsed `ul`/`ol` tags**
|
|
57
|
+
* Short list tags were getting collapsed and losing navigation.
|
|
58
|
+
|
|
59
|
+
## v0.15.2
|
|
60
|
+
|
|
61
|
+
* **Feature: In-App Translation**
|
|
62
|
+
* Integrated the built-in Chrome `Translator` and `LanguageDetector` APIs.
|
|
63
|
+
* Added a "Translate" button and language selection dropdown to each comment component.
|
|
64
|
+
* The source language is now auto-detected and hidden from the target language list.
|
|
65
|
+
* Translations are performed on-device and saved to the comment's `ibGib` data for persistence.
|
|
66
|
+
* **Refactor: Component Logic**
|
|
67
|
+
* Refactored the `switchToView` method into smaller, more manageable sub-methods (`switchToView_children`, `switchToView_summary`, `switchToView_translation`).
|
|
68
|
+
* Created new helper functions (`getTranslationTextKeyForIbGib`) to handle complex data key generation, preventing parsing issues with underscores.
|
|
69
|
+
|
|
70
|
+
## v0.15.1
|
|
71
|
+
|
|
72
|
+
* working on extension for hackathon built-in AI from google
|
|
73
|
+
* changed generate-version-file.js from using `assert` to `with` in import
|
|
74
|
+
statement.
|
|
75
|
+
* this was due to a node build warning saying that `assert` was being
|
|
76
|
+
deprecated.
|
|
77
|
+
|
|
78
|
+
## v0.14.1
|
|
79
|
+
|
|
80
|
+
* refactored to esbuild
|
|
81
|
+
* had to tweak component architecture a bit
|
|
82
|
+
* no more dynamic JIT loading of css and html, now these are AOT
|
|
83
|
+
* esbuild config to not mangle names (`keepNames: true`)
|
|
84
|
+
|
|
85
|
+
## v0.13.1
|
|
86
|
+
|
|
87
|
+
* backing up before trying to migrate to esbuild
|
|
88
|
+
* for perf reasons
|
|
89
|
+
* also to get the app to work in chrome web extensions, which don't currently
|
|
90
|
+
support import maps.
|
|
91
|
+
* not sure the other changes before this version, but I believe they were minor
|
|
92
|
+
adjustments and I was publishing them to ibgib.com (thus the version
|
|
93
|
+
increments).
|
|
94
|
+
|
|
95
|
+
## v0.8.1
|
|
96
|
+
|
|
97
|
+
* parrot, fill-in-the-blank (fitb), and translate added to stimulus and gameplay
|
|
98
|
+
* all extremely rough, and it's been slooooooow going.
|
|
99
|
+
* moving variant from the game itself to each of the stimuli
|
|
100
|
+
* hard-instantiation of fitb entries right now, but need to do dynamic ones
|
|
101
|
+
* only superficially tested, but it's been so long I'm throwing it up there
|
|
102
|
+
and going to test it out on my own real-world data.
|
|
103
|
+
* this reminds me, I don't truly have a migrate functionality, so we'll see
|
|
104
|
+
how that goes eessh
|
|
105
|
+
|
|
106
|
+
## v0.7.1
|
|
107
|
+
|
|
108
|
+
* simple metronome implemented
|
|
109
|
+
* display version on bootstrap
|
|
110
|
+
|
|
111
|
+
## v0.6.1
|
|
112
|
+
|
|
113
|
+
* working on divergent agents among other bugs
|
|
114
|
+
* deprecated functions are now just checked at runtime instead of mutated within the agent
|
|
115
|
+
* until the agent divergence issue is resolved, then we can go back to pruning them "properly".
|
|
116
|
+
|
|
117
|
+
## v0.4.1
|
|
118
|
+
|
|
119
|
+
* chat active tab and persist open tabs per project in chronologys panel
|
|
120
|
+
are working now.
|
|
121
|
+
* had to correct some of the shared plumbing for ParentOfTabs components.
|
|
122
|
+
* still need to migrate over the projects to include closing tabs, but this is
|
|
123
|
+
good enough for now.
|
|
124
|
+
* next up is focusing on manually creating a pipeline for learning source text.
|
|
125
|
+
|
|
126
|
+
## v0.3.1
|
|
127
|
+
|
|
128
|
+
* chat active tab
|
|
129
|
+
* persist open tabs per project in chronologys panel
|
|
130
|
+
* still buggy but hey, there ya go
|
|
131
|
+
|
|
132
|
+
## v0.2.1
|
|
133
|
+
|
|
134
|
+
* improvements to the editing of minigames
|
|
135
|
+
* can add multiple lines at once now
|
|
136
|
+
* can open quick link to google translate with all stimuli text.
|
|
137
|
+
|
|
138
|
+
## v0.1.1
|
|
139
|
+
|
|
140
|
+
* implemented manual text minigame creation/editing
|
|
141
|
+
* NOTE: I'm starting to change the minor version number when I intend to publish
|
|
142
|
+
to the internet, instead of just publishing pkg to npm.
|
|
143
|
+
|
|
144
|
+
## v0.0.98
|
|
145
|
+
|
|
146
|
+
* implemented timer
|
|
147
|
+
* like most things, is a sketch
|
|
148
|
+
* really highlights the transience of a minigame. we have to walk the entire
|
|
149
|
+
history of the minigame ibgib timeline to get "instances" of minigames. This
|
|
150
|
+
is a poor design, but it's what I got right now.
|
|
151
|
+
* at the very least, the little numbers increment while playing and not while
|
|
152
|
+
paused, although the stats shown at the end of the game have an elapsedMs
|
|
153
|
+
that does not account for pauses.
|
|
154
|
+
* implemented edit stimuli on minigame
|
|
155
|
+
* "deprecated" the existing addStimuli api function.
|
|
156
|
+
* had to implement prune stage for agents when loading when there is a
|
|
157
|
+
deprecated function
|
|
158
|
+
* there is some race condition in the agent's timeline that existed in testing
|
|
159
|
+
for this. the only difference in the agent is timestampMs.
|
|
160
|
+
* I went ahead and just console.warned when there is a divergent timeline
|
|
161
|
+
for the agent instead of throwing an error. probably have downstream
|
|
162
|
+
effects, but there ya go, I'm all alone here. Nobody else using it and no
|
|
163
|
+
one else damn sure developing.
|
|
164
|
+
* did basic testing on add, insert, edit and delete stimuli, i.e, not
|
|
165
|
+
extensive. it looks like it's working and that the agent knows how to use
|
|
166
|
+
it.
|
|
167
|
+
|
|
168
|
+
## v0.0.95
|
|
169
|
+
|
|
170
|
+
* tweaked new project to enter name of new project
|
|
171
|
+
* meant to obviate issues with renaming the project with agents.
|
|
172
|
+
|
|
173
|
+
## v0.0.93
|
|
174
|
+
|
|
175
|
+
* converted left panel projects to projects-explorer
|
|
176
|
+
* filter projects
|
|
177
|
+
|
|
178
|
+
## v0.0.91
|
|
179
|
+
|
|
180
|
+
* Config button added to the shell's header
|
|
181
|
+
* initial button for clearing/setting (and reading a mask of) the Gemini API
|
|
182
|
+
key implemented. Now you can see the masked API key, clear it, and update
|
|
183
|
+
it.
|
|
184
|
+
|
|
185
|
+
## v0.0.88
|
|
186
|
+
|
|
187
|
+
* CorpusAnalyzer in the works
|
|
188
|
+
* collab with Gemini 2.5 Pro
|
|
189
|
+
* started with analyzeText to build a TfIdfCorpus class
|
|
190
|
+
* does TF-IDF stuff on text, normal stuff
|
|
191
|
+
* Moved on to AnalysisEngine
|
|
192
|
+
* abstracted the concept of a "word" to a "construct" (λόγος), to enable
|
|
193
|
+
"words" that represent regex-able concepts such as separable verbs for
|
|
194
|
+
german, dative prepositions, etc.
|
|
195
|
+
* so now we can TF-IDF and other analyses on texts using text-based
|
|
196
|
+
`ConstructRule`
|
|
197
|
+
* name, description, pattern props - all strings
|
|
198
|
+
* this means...
|
|
199
|
+
* we can encapsulate higher-order concepts (`ConstructRule.pattern` is
|
|
200
|
+
composable) using ibgibs themselves.
|
|
201
|
+
* agents can evolve rules at runtime as needed, persist them, share them,
|
|
202
|
+
etc., without having to recompile.
|
|
203
|
+
* TF-IDF and other analyses can be built against these constructs
|
|
204
|
+
* limited testing done on German, Italian, Spanish, and Koine Greek, but all
|
|
205
|
+
"tests" passing.
|
|
206
|
+
* need to eventually turn these to proper unit/integration tests
|
|
207
|
+
* `CorpusAnalyzer` is the resulting abstraction that wraps the
|
|
208
|
+
`AnalysisEngine`
|
|
209
|
+
* Need to write code that consumes `CorpusAnalyzer` in...
|
|
210
|
+
* typing game component
|
|
211
|
+
* APIFunctionInfo for use by agents
|
|
212
|
+
|
|
213
|
+
## v0.0.86
|
|
214
|
+
|
|
215
|
+
* Minigames are "working", albeit on the bare side.
|
|
216
|
+
* Project agents can now change the theming (updateCSSVariables function)
|
|
217
|
+
* Added a blog entry on the new ai-theming and project functionality
|
|
218
|
+
* Raw view update to enable accordions with summary, separate ib/gib/data/rel8ns
|
|
219
|
+
sections
|
|
220
|
+
* Rel8ns now enable navigation, i.e., opening the ibgib as an open tab in the
|
|
221
|
+
project's center panel.
|
|
222
|
+
|
|
223
|
+
## v0.0.69
|
|
224
|
+
|
|
225
|
+
* WIP :under_construction: working on typing/minigame architecture
|
|
226
|
+
* leaving off having stubbed minigame and typing components, some of the
|
|
227
|
+
ibgibs themselves, but nothing remotely finished.
|
|
228
|
+
* juuuust sketched the typing component. the idea is that the minigame
|
|
229
|
+
component will inject the typing component. other variants of the typing
|
|
230
|
+
component may be contained in descending classes or just within that
|
|
231
|
+
component. i dunno, need a break.
|
|
232
|
+
* WIP :under_construction: already did some plumbing on import, but ran into the
|
|
233
|
+
realization that this is essentially a timeline merge/sync and thus is
|
|
234
|
+
non-trivial. is probably a good place to incorporate sync from AWS sync space
|
|
235
|
+
to just be able to work with a local space.
|
|
236
|
+
|
|
237
|
+
## v0.0.64
|
|
238
|
+
|
|
239
|
+
* Export (NO import yet) implemented.
|
|
240
|
+
* export project, active ibgib tab, each with or without compression.
|
|
241
|
+
* import will be next
|
|
242
|
+
* Stopgap hack to restore the most recent theme (i.e. css variables) on app
|
|
243
|
+
init.
|
|
244
|
+
* some UI tweaks.
|
|
245
|
+
|
|
246
|
+
## v0.0.60
|
|
247
|
+
|
|
248
|
+
* "Files" and persistence "working"!
|
|
249
|
+
* Project settings are implemented to where the activeTjpAddr (active tab)
|
|
250
|
+
is saved, as well as open tabs (also by their tjpAddrs).
|
|
251
|
+
* getIbgibs, mut8IbGib, editProject, editText commands are implemented for
|
|
252
|
+
project agent.
|
|
253
|
+
* getIbGibs enables the project agent to get multiple ibgibs, e.g. all ibgibs
|
|
254
|
+
in the project's "past" rel8nName.
|
|
255
|
+
* also has a getLatest flag
|
|
256
|
+
* mut8IbGib enables agents to do fancier (but riskier) mutations on an
|
|
257
|
+
ibgib/timeline.
|
|
258
|
+
* editProject gives a simpler interface to editing a project
|
|
259
|
+
* does things like mutating the project's ib field when the data.name is
|
|
260
|
+
edited, as well as takes care of timestamps.
|
|
261
|
+
* editText similarly gives a simpler facade to editing comment/text ibgibs.
|
|
262
|
+
* used by the text-editor
|
|
263
|
+
* text-editor component has a debounced saving mechanism now.
|
|
264
|
+
|
|
265
|
+
## v0.0.55/56
|
|
266
|
+
|
|
267
|
+
* saving text-editor text via debounce (ty Gemini)
|
|
268
|
+
* also small busy indicator when this is happening.
|
|
269
|
+
* need to fill out the UIinfo settings.
|
|
270
|
+
|
|
271
|
+
## v0.0.54
|
|
272
|
+
|
|
273
|
+
* just confirmed the refactored code is working. now we have generalized code
|
|
274
|
+
that can couple local ibgibs with domain ibgibs. this is what we will use
|
|
275
|
+
to couple local settings to the project ibgibs (and project child ibgibs).
|
|
276
|
+
* specifically, project ibgibs will need some persistence as to what tabs are
|
|
277
|
+
open, and what components are representing the ibgibs in those tabs. This is
|
|
278
|
+
related to my UXInfo or UIInfo data, and the beginnings of our SettingsIbGib_V1.
|
|
279
|
+
and this is what I am leaving off at.
|
|
280
|
+
|
|
281
|
+
## v0.0.53
|
|
282
|
+
|
|
283
|
+
* working on generalizing agent indexing to a "coupled" index.
|
|
284
|
+
* the use case is to also have "settings" objects that will remember settings.
|
|
285
|
+
* the driving "settings" config is for remembering what UI component is open for
|
|
286
|
+
a given project child ibgib.
|
|
287
|
+
* project component much improved
|
|
288
|
+
* lens bar
|
|
289
|
+
* raw and text-editor components are sketched somewhat
|
|
290
|
+
|
|
291
|
+
## v0.0.43/44
|
|
292
|
+
|
|
293
|
+
* working on correcting bugs caused by brittle special ibgib index updating.
|
|
294
|
+
* the (proximal) problem is that we're updating the agent index special ibgib
|
|
295
|
+
too quickly in multiple calls. So we're getting divergent timelines.
|
|
296
|
+
* so i'm reworking to use the command service in order to ensure that we have
|
|
297
|
+
updates to special ibgib indexes happening serially and not in parallel.
|
|
298
|
+
basically this is using the commanding service act as a poor man's critical
|
|
299
|
+
section. it still won't defend against multiple tabs, but that is for
|
|
300
|
+
another (more highly funded) time.
|
|
301
|
+
* one of the ways I'm doing this is by enabling anonymous function commands.
|
|
302
|
+
* I'm adding `anonApiFn?: APIFunctionInfo<any>;` to `EnqueuedCommand` and a
|
|
303
|
+
command helper `commandifyAnonFn`
|
|
304
|
+
* timeline-api starting dev...
|
|
305
|
+
|
|
306
|
+
## v0.0.30-40
|
|
307
|
+
|
|
308
|
+
* Context ibgib workflow is working...
|
|
309
|
+
* for the web 1.0 agent
|
|
310
|
+
* a bit for project agents
|
|
311
|
+
* By this, I mean that no longer do we do the naive chat with an agent,
|
|
312
|
+
rather, agents subscribe to contexts and react to new ibgibs published to
|
|
313
|
+
the metaspace pubsub. This is a huge improvement architecturally. HUGE.
|
|
314
|
+
* Need to start working on project ibgibs actually doing something.
|
|
315
|
+
* Need to persist more projects. possibly start using tags.
|
|
316
|
+
|
|
317
|
+
## v0.0.30
|
|
318
|
+
|
|
319
|
+
* in progress: hooking up agent with context ibgib instead of chat log kluge.
|
|
320
|
+
* I had to refactor a bit to avoid circular references.
|
|
321
|
+
* Now agents can be gotten from the agents service by the agent id.
|
|
322
|
+
* tell user command and hello world command are up and going somewhat.
|
|
323
|
+
* the hello world mutates the agent's data for the name.
|
|
324
|
+
* when web 1 component is initialized, it sets the active context of the
|
|
325
|
+
primary agent.
|
|
326
|
+
* project agent yet to be done.
|
|
327
|
+
* tell user implementation not done.
|
|
328
|
+
* agent is not hooked up to context changes yet (wrt pubsub)
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
## v0.0.27
|
|
332
|
+
|
|
333
|
+
* chronology now showing the correct child
|
|
334
|
+
* very slow initialization, hard to tell right now.
|
|
335
|
+
* commented on idx forum, may have to transition.
|
|
336
|
+
* https://community.firebasestudio.dev/t/extremely-sluggish/10502/5?u=ibgib
|
|
337
|
+
* need to get tab color working
|
|
338
|
+
* need to associate user with addlmetadatatext on the comment, also
|
|
339
|
+
timestampinticks
|
|
340
|
+
* chronologys should initialize children with existing children in addition to
|
|
341
|
+
handling new children coming down the pipe.
|
|
342
|
+
* probably should have ibgibs backing it or possibly entire components, hard
|
|
343
|
+
to tell. (currently i am just throwing up a chat entry like the original
|
|
344
|
+
chat log kluge)
|
|
345
|
+
|
|
346
|
+
## v0.0.23-26
|
|
347
|
+
|
|
348
|
+
* working on chronology (chat log)
|
|
349
|
+
* in the middle of getting web1 functionality back to "working". of course,
|
|
350
|
+
the chat log as a previous kluge that we are now fixing. the web1 component
|
|
351
|
+
creates its own ibgib context now per session (via global storage). after init
|
|
352
|
+
that as a live proxy, it inits the input to use it and the chronology on the right
|
|
353
|
+
as well. the input now relates a comment ibgib to that context.
|
|
354
|
+
* I'm leaving off where I need to hook up a new child to the context in the
|
|
355
|
+
web component to propagating to the agent. Then I need to continue with the
|
|
356
|
+
chronology showing the chat, including these newly added comments.
|
|
357
|
+
|
|
358
|
+
## v0.0.22
|
|
359
|
+
|
|
360
|
+
* corrected some agent initialization and input bugs. seems to be working better.
|
|
361
|
+
|
|
362
|
+
## v0.0.21
|
|
363
|
+
|
|
364
|
+
* created an "agentsSvc" singleton that treats each agent (witness) as a
|
|
365
|
+
singleton service. It _seems_ to be working, but we'll see. At the very least
|
|
366
|
+
I'm able to just chat with the website again, as well as change the theme.
|
|
367
|
+
|
|
368
|
+
## v0.0.20
|
|
369
|
+
|
|
370
|
+
* changed to input component
|
|
371
|
+
* working on breaking out more agents.
|
|
372
|
+
* still working on this. the primary agent is now kind of a website agent.
|
|
373
|
+
But for some reason the agent doesn't have those system instructions that
|
|
374
|
+
describe the ibgib protocol, website, etc.
|
|
375
|
+
* UI init changes for drawing the eye better and more formalized
|
|
376
|
+
* leaving off before changing the asides. I should script those asides with
|
|
377
|
+
highlights I think.
|
|
378
|
+
|
|
379
|
+
## v0.0.13
|
|
380
|
+
|
|
381
|
+
* added dynamic theming backed by agent
|
|
382
|
+
* still need to fill out more css variables
|
|
383
|
+
* ibgib projects
|
|
384
|
+
* instead of the raw ai canvas
|
|
385
|
+
* work in progress (incomplete)
|
|
386
|
+
* created project api command related things but created a dependency order error.
|
|
387
|
+
|
|
388
|
+
## v0.0.12
|
|
389
|
+
|
|
390
|
+
* first funding! added some info to the funding page.
|
|
391
|
+
* Added blog and faq
|
|
392
|
+
* tweaking layouts/css
|
|
393
|
+
* path renderable improved
|
|
394
|
+
* added quite a bit of instructions for interacting with the primary agent.
|
|
395
|
+
* anticipating users chatting with the agent about the protocol and the
|
|
396
|
+
website.
|
|
397
|
+
* other things as well.
|
|
398
|
+
* will have an ai look at diffs when ibgib versioning going, which will be
|
|
399
|
+
* easier with ibgib vs git IMO, but we'll see.
|
|
400
|
+
|
|
401
|
+
## v0.0.8/9
|
|
402
|
+
|
|
403
|
+
* path renderable implementation started.
|
|
404
|
+
|
|
405
|
+
## v0.0.7
|
|
406
|
+
|
|
407
|
+
* simple send button for input textareas for agents
|
|
408
|
+
|
|
409
|
+
## v0.0.6
|
|
410
|
+
|
|
411
|
+
* fixed the pesky "race condition" of indexed db storage initialization.
|
|
412
|
+
* was due to a logical error on my part when calling an inner
|
|
413
|
+
`initializeStorage`. I had to explicitly call db.close, as a final db.close
|
|
414
|
+
was not sufficient for the outer function, `storageCreateStoreIfNotExist`.
|
|
415
|
+
* fixed db.close errors throughout the storage helper functions.
|
|
416
|
+
* refactored storage functions into a separate file outside of the more general
|
|
417
|
+
`helpers.web.mts`.
|
|
418
|
+
|
|
419
|
+
## v0.0.5
|
|
420
|
+
|
|
421
|
+
* I'm making the default local user space have an automatically-created space name to avoid prompting the user for the space name.
|
|
422
|
+
* This is due to the prompt dialog screwing up the first user first land on
|
|
423
|
+
ibgib.com experience. I want the user's eye to be drawn to the aside on the
|
|
424
|
+
home.html component.
|
|
425
|
+
* I've added some plumbing to make the bootstrapping of the blank gib app idempotent.
|
|
426
|
+
* This was in thinking that we may try to bootstrap later, but with the
|
|
427
|
+
auto-local space naming, i'm holding off on this.
|
package/README.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# web-gib - agent-driven ibGib web apps
|
|
2
|
+
|
|
3
|
+
:under_construction: _I'm currently in the process of pulling this out as a framework from @ibgib/blank-gib._
|
|
4
|
+
|
|
5
|
+
This library enables ibgib apps with...
|
|
6
|
+
|
|
7
|
+
* initializing the ibgib environment
|
|
8
|
+
* bootstrapping the metaspace
|
|
9
|
+
* utilizing and interacting with IndexedDB
|
|
10
|
+
* IndexedDB-based ibgib space implementation
|
|
11
|
+
* IndexedDB helper functions
|
|
12
|
+
* building with the ibgib component framework
|
|
13
|
+
|
|
14
|
+
## src notes
|
|
15
|
+
|
|
16
|
+
### *.ext.mts, *.web.mts, *.app.mts
|
|
17
|
+
|
|
18
|
+
All ibgib code is TypeScript + ES Modules.
|
|
19
|
+
|
|
20
|
+
* .ext for chrome extension-only (not the app)
|
|
21
|
+
* .web.mts - web (not node)
|
|
22
|
+
* .app.mts - blank-gib app (not the web extension)
|
|
23
|
+
|
|
24
|
+
## UI Architecture: Custom @ibgib component framework
|
|
25
|
+
|
|
26
|
+
**tl;dr**: _Web Component-based components react to ibgib's unique Merkle DAG DLT time-centric data model._
|
|
27
|
+
|
|
28
|
+
The front end that this library enables is not built with a conventional
|
|
29
|
+
framework like React or Vue. Instead, it uses a custom architecture built on top
|
|
30
|
+
of standard Web Components and the ibgib protocol. This creates a reactive
|
|
31
|
+
framework against an infinite space built on ibgib's unique DLT
|
|
32
|
+
content-addressing system.
|
|
33
|
+
|
|
34
|
+
In particular, components are linked to a backing ibgib timeline, using the
|
|
35
|
+
ibgib's tjp address (specifically the `gib` part, i.e., the `tjpGib`) as the
|
|
36
|
+
pointer to the genesis of the timeline. This acts as a unique, content-addressed
|
|
37
|
+
timeline/stream identifier. And components subscribe to the metaspace's local
|
|
38
|
+
pubsub, specifically listening to timeline updates, reacting accordingly.
|
|
39
|
+
|
|
40
|
+
### Big Idea
|
|
41
|
+
|
|
42
|
+
All current approaches to data are disconnected. So the best you can do with a
|
|
43
|
+
front-end component framework is a Redux-like approach where you usually have a
|
|
44
|
+
local data store and you provide pathing into that store. Slightly better is you
|
|
45
|
+
can have a store provider layer. Then your local-only components react to
|
|
46
|
+
updates via the lambdas/reducers.
|
|
47
|
+
|
|
48
|
+
The lone exception - and the reason for its ENORMOUS success - is git itself.
|
|
49
|
+
Think of git's coarse branches as the paths and remotes as the components. Now
|
|
50
|
+
think of a DLT-based approach to timeline dynamics (like version control
|
|
51
|
+
systems), that wasn't built with source code as its only use case, rather _with
|
|
52
|
+
each piece of data as its own timeline_. Now you have a universally-sized
|
|
53
|
+
distributed computation addressing system that enables _distributed_ component
|
|
54
|
+
architecture.
|
|
55
|
+
|
|
56
|
+
### Framework Parts
|
|
57
|
+
|
|
58
|
+
The component framework itself consists of three main parts:
|
|
59
|
+
|
|
60
|
+
1. **The Component Service (`IbGibComponentService`):** A singleton service that acts as a central registry and router for all components in the application. When the application needs to display a new view, it asks the service to find and create the appropriate component for the given data (`ibGibAddr`).
|
|
61
|
+
|
|
62
|
+
2. **The Component Meta (`IbGibDynamicComponentMeta`):** This is a "blueprint" or factory object for a component. It doesn't render any UI itself; instead, it defines the component's custom HTML tag name (e.g., `ibgib-sidepanel`), its routing rules (how it matches a URL or path), and contains the factory method (`createInstance`) to stamp out new instances.
|
|
63
|
+
|
|
64
|
+
3. **The Component Instance (`IbGibDynamicComponentInstance`):** This is the component itself - an actual `HTMLElement` web component that gets rendered in the DOM. It contains the UI logic, event handling, and maintains a live link to its corresponding `ibgib` data. It uses a `LiveProxyIbGib` to automatically update the UI when the underlying data changes.
|
|
65
|
+
|
|
66
|
+
This architecture allows for a highly dynamic and modular UI where components can be loaded, unloaded, and updated in response to changes in the `ibgib` knowledge graph. For a more detailed technical breakdown, see the `README.md` in the `apps/blank-gib/src/extension` directory.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const AGENT_INITIAL_SYSTEM_SUPER_COOL = "You are a super cool agent in a super cool and novel approach to UX.";
|
|
2
|
+
export declare const AGENT_INITIAL_CHAT_GIVESELFNAME = "Hi. First, please give yourself a unique name. Use the same name throughout your lifetime. This name will be used for functions that require identification. When choosing a name, choose a legit name, not some camelCase or other programming name or user handle, and not a name that sounds like a business name. Rather, choose a \"real\" name that you will use with functions requiring to identify yourself, like a human, alien, and/or robbot name. And you can't use the name of your model architecture. For example, Google Gemini models can't use \"Gemini\".";
|
|
3
|
+
export declare const AGENT_INITIAL_CHAT_HELLOWORLD = "After you choose a name, call helloWorld a single time with the reprompt flag set. The helloWorld function is mainly used to initialize your data with the name and maybe one or two other things. You don't need to mention the helloWorld call.";
|
|
4
|
+
export declare const AGENT_INSTRUCTIONS_INIT_HELLOWORLD_GETCONTEXT = "After you choose a name, before everything else, you should call the helloWorld and getContextInfo functions. HelloWorld does not actually say anything, rather, it's more of an init function. And the getContextInfo function (name may be slightly different) gives you the ibgib context info. The context ibgib is like the \"channel\" within which you can talk to the user, but we're leveraging the ibgib protocol's cool feature of \"super symmetry\" where each piece of data has the same semi-structure to enable dynamics across all of the data. The context address will change when things are added to it (like tellUser does), but don't worry. Just use the latest context address that you have and it will automatically get the latest.";
|
|
5
|
+
export declare const AGENT_INITIAL_CHAT_HI_PLEASEINTRO_YOURSELF: string;
|
|
6
|
+
export declare const AGENT_INSTRUCTIONS_PROMPTS_ARE_COMMENT_IBGIBS = "Each system instruction or chat prompt is derived from composing one or more texts that are stored in \"ibGibs\". ";
|
|
7
|
+
export declare const AGENT_INSTRUCTIONS_IBGIB_DEFINITION = "An \"ibGib\" (also ibgib) is a semi-structure data construct with four properties: ib, data, rel8ns, and gib. The 'ib' is a per-use-case metadata string, often with a reduced \"safe\" character set. Usually it is space-delimited, with each secion further subdelimited depending on the use case, and this 'ib' is the first part of an ibGib address. The 'data' is an internal POCO/POJO type of map object which contains intrinsic data. The shape of this intrinsic data depends on the use case, hence the \"semi\" in \"semi-structure\". The 'rel8ns' is a map of rel8nName -> string[] of ibgib addresses which are effectively Merkle links to other ibgibs. And the 'gib' is the second part of an ibGib address. It comes in three varieties: 1) A single hash built by hashing normalized concatenated hashes of the ib, data, and rel8ns effectively like `hash(hash(ib)+hash(data)+hash(rel8ns))`. This makes the 'gib' a cryptographic guarantee on the ibgib data structure similar to a raw hash but more robust and powerful. An example of this type would be \"82ABA2819283572983659238659283659FC19361982364F1982346DDCB4444A1\". 2) Two dot-delimited hashes, with the first being the same \"punctiliar\" hash as just explained in #1 which identifies the ibgib at this point in time, and the second being the punctiliar hash of the first ibgib in a timeline, kind of like a stream id. The timeline is built by taking a source ibgib, applying a transform that changes either the ib, data, or rel8ns, and then produces another ibgib - BUT that new ibgib has a special \"past\" rel8n with the ib^gib address of the source ibgib. Since the 'gib' contains hash verification of the internal structure of the ibgib, this builds up a special blockchain-like timeline. There is also an \"ancestor\" rel8n that actually makes this not a blockchain but a Merkle DAG. So a gib of this kind might be \"6FC469DC624B1438500E811216E6E6B2B7ABC583B69994F2B89ADEA90A3F4A73.82ABA2819283572983659238659283659FC19361982364F1982346DDCB4444A1\", where 6FC469DC624B1438500E811216E6E6B2B7ABC583B69994F2B89ADEA90A3F4A73 is the punctiliar hash of this record and 82ABA2819283572983659238659283659FC19361982364F1982346DDCB4444A1 is the first hash in the timeline. So as a timeline evolves, the second part will stay the same while the first part changes depending on the contents of the punctiliar record. 3) Sometimes, the gib is just the string \"gib\" which implies there is no cryptographic guarantees of the ibGib record as a whole. An ibGib *address* is made of concatenating the ib and gib with a caret delimiter, e.g., \"comment HelloWorld^6FC469DC624B1438500E811216E6E6B2B7ABC583B69994F2B89ADEA90A3F4A73\" or \"link httpwwwgooglecom^2983479238698263986239864982364982364986234986928634929556123562.82ABA2819283572983659238659283659FC19361982364F1982346DDCB4444A1\". \"comment^gib\" is an example of a \"primitive\" ibgib that just acts similarly to a \"type\" in practice. Your addresses will most be either #1 or #2 for cryptographic use, but you will see \"comment^gib\" in the ancestor rel8n of many ibgib records available to you.";
|
|
8
|
+
export declare const AGENT_INSTRUCTIONS_MULTI_TURN_FUNCTIONS = "Sometimes you need to call a function and get the results so you can call another function. For example, when a renderable-based agent wants to update a renderable, often it's required to get that renderable's handle uuid first. Only once this is gotten can the current state of the renderable be gotten, and only then can you actually it with new state. This takes multiple function call rounds. But from the user's POV, there is only one round: the text they sent. You will see comments added to the chat though that correspond to the function call(s) you requested. Then once you have reached the end (like once you've updated the renderable's state), you can either tell the user the results or just don't say anything and let the action speak for itself - this is left to your discretion.";
|
|
9
|
+
export declare const AGENT_EARLY_DAYS_DEV_CAVEAT = "Right now it's in early dev, so you have limited available functions.";
|
|
10
|
+
export declare const AGENT_GOAL_COMMON: string;
|
|
11
|
+
export declare const AGENT_SYSTEM_PROMPT_COMMON_INSTRUCTIONS: string;
|
|
12
|
+
export declare const AGENT_IBGIBS = "Each system instruction or chat prompt is derived from composing one or more texts that are stored in \"ibGibs\". ";
|
|
13
|
+
export declare const AGENT_WEBSITE_DESCRIPTION: string;
|
|
14
|
+
//# sourceMappingURL=common-agent-texts.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-agent-texts.d.mts","sourceRoot":"","sources":["../../src/agent-texts/common-agent-texts.mts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B,yEAAyE,CAAC;AACtH,eAAO,MAAM,+BAA+B,kjBACmgB,CAAC;AAEhjB,eAAO,MAAM,6BAA6B,sPAC6M,CAAC;AAExP,eAAO,MAAM,6CAA6C,ouBAAguB,CAAC;AAC3xB,eAAO,MAAM,0CAA0C,QAE3C,CAAC;AACb,eAAO,MAAM,6CAA6C,uHAAqH,CAAC;AAEhL,eAAO,MAAM,mCAAmC,iiGAAmgG,CAAC;AAEpjG,eAAO,MAAM,uCAAuC,8xBAA8xB,CAAC;AAEn1B,eAAO,MAAM,2BAA2B,0EAA0E,CAAC;AACnH,eAAO,MAAM,iBAAiB,QAGlB,CAAC;AAEb,eAAO,MAAM,uCAAuC,EAAE,MAS1C,CAAC;AAOb,eAAO,MAAM,YAAY,uHAAqH,CAAC;AAO/I,eAAO,MAAM,yBAAyB,QAc1B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export const AGENT_INITIAL_SYSTEM_SUPER_COOL = `You are a super cool agent in a super cool and novel approach to UX.`;
|
|
2
|
+
export const AGENT_INITIAL_CHAT_GIVESELFNAME = `Hi. First, please give yourself a unique name. Use the same name throughout your lifetime. This name will be used for functions that require identification. When choosing a name, choose a legit name, not some camelCase or other programming name or user handle, and not a name that sounds like a business name. Rather, choose a "real" name that you will use with functions requiring to identify yourself, like a human, alien, and/or robbot name. And you can't use the name of your model architecture. For example, Google Gemini models can't use "Gemini".`;
|
|
3
|
+
export const AGENT_INITIAL_CHAT_HELLOWORLD = `After you choose a name, call helloWorld a single time with the reprompt flag set. The helloWorld function is mainly used to initialize your data with the name and maybe one or two other things. You don't need to mention the helloWorld call.`;
|
|
4
|
+
export const AGENT_INSTRUCTIONS_INIT_HELLOWORLD_GETCONTEXT = `After you choose a name, before everything else, you should call the helloWorld and getContextInfo functions. HelloWorld does not actually say anything, rather, it's more of an init function. And the getContextInfo function (name may be slightly different) gives you the ibgib context info. The context ibgib is like the "channel" within which you can talk to the user, but we're leveraging the ibgib protocol's cool feature of "super symmetry" where each piece of data has the same semi-structure to enable dynamics across all of the data. The context address will change when things are added to it (like tellUser does), but don't worry. Just use the latest context address that you have and it will automatically get the latest.`;
|
|
5
|
+
export const AGENT_INITIAL_CHAT_HI_PLEASEINTRO_YOURSELF = [
|
|
6
|
+
`Hi. Please introduce yourself using tellUser, explaining what type of agent you are with a brief description of yourself.`,
|
|
7
|
+
].join('\n');
|
|
8
|
+
export const AGENT_INSTRUCTIONS_PROMPTS_ARE_COMMENT_IBGIBS = `Each system instruction or chat prompt is derived from composing one or more texts that are stored in "ibGibs". `;
|
|
9
|
+
export const AGENT_INSTRUCTIONS_IBGIB_DEFINITION = `An "ibGib" (also ibgib) is a semi-structure data construct with four properties: ib, data, rel8ns, and gib. The 'ib' is a per-use-case metadata string, often with a reduced "safe" character set. Usually it is space-delimited, with each secion further subdelimited depending on the use case, and this 'ib' is the first part of an ibGib address. The 'data' is an internal POCO/POJO type of map object which contains intrinsic data. The shape of this intrinsic data depends on the use case, hence the "semi" in "semi-structure". The 'rel8ns' is a map of rel8nName -> string[] of ibgib addresses which are effectively Merkle links to other ibgibs. And the 'gib' is the second part of an ibGib address. It comes in three varieties: 1) A single hash built by hashing normalized concatenated hashes of the ib, data, and rel8ns effectively like \`hash(hash(ib)+hash(data)+hash(rel8ns))\`. This makes the 'gib' a cryptographic guarantee on the ibgib data structure similar to a raw hash but more robust and powerful. An example of this type would be "82ABA2819283572983659238659283659FC19361982364F1982346DDCB4444A1". 2) Two dot-delimited hashes, with the first being the same "punctiliar" hash as just explained in #1 which identifies the ibgib at this point in time, and the second being the punctiliar hash of the first ibgib in a timeline, kind of like a stream id. The timeline is built by taking a source ibgib, applying a transform that changes either the ib, data, or rel8ns, and then produces another ibgib - BUT that new ibgib has a special "past" rel8n with the ib^gib address of the source ibgib. Since the 'gib' contains hash verification of the internal structure of the ibgib, this builds up a special blockchain-like timeline. There is also an "ancestor" rel8n that actually makes this not a blockchain but a Merkle DAG. So a gib of this kind might be "6FC469DC624B1438500E811216E6E6B2B7ABC583B69994F2B89ADEA90A3F4A73.82ABA2819283572983659238659283659FC19361982364F1982346DDCB4444A1", where 6FC469DC624B1438500E811216E6E6B2B7ABC583B69994F2B89ADEA90A3F4A73 is the punctiliar hash of this record and 82ABA2819283572983659238659283659FC19361982364F1982346DDCB4444A1 is the first hash in the timeline. So as a timeline evolves, the second part will stay the same while the first part changes depending on the contents of the punctiliar record. 3) Sometimes, the gib is just the string "gib" which implies there is no cryptographic guarantees of the ibGib record as a whole. An ibGib *address* is made of concatenating the ib and gib with a caret delimiter, e.g., "comment HelloWorld^6FC469DC624B1438500E811216E6E6B2B7ABC583B69994F2B89ADEA90A3F4A73" or "link httpwwwgooglecom^2983479238698263986239864982364982364986234986928634929556123562.82ABA2819283572983659238659283659FC19361982364F1982346DDCB4444A1". "comment^gib" is an example of a "primitive" ibgib that just acts similarly to a "type" in practice. Your addresses will most be either #1 or #2 for cryptographic use, but you will see "comment^gib" in the ancestor rel8n of many ibgib records available to you.`;
|
|
10
|
+
export const AGENT_INSTRUCTIONS_MULTI_TURN_FUNCTIONS = `Sometimes you need to call a function and get the results so you can call another function. For example, when a renderable-based agent wants to update a renderable, often it's required to get that renderable's handle uuid first. Only once this is gotten can the current state of the renderable be gotten, and only then can you actually it with new state. This takes multiple function call rounds. But from the user's POV, there is only one round: the text they sent. You will see comments added to the chat though that correspond to the function call(s) you requested. Then once you have reached the end (like once you've updated the renderable's state), you can either tell the user the results or just don't say anything and let the action speak for itself - this is left to your discretion.`;
|
|
11
|
+
export const AGENT_EARLY_DAYS_DEV_CAVEAT = `Right now it's in early dev, so you have limited available functions.`;
|
|
12
|
+
export const AGENT_GOAL_COMMON = [
|
|
13
|
+
AGENT_EARLY_DAYS_DEV_CAVEAT,
|
|
14
|
+
`Your goal is just to do your best to parse the chat texts and choose the best course of action in terms of one or more functions.`,
|
|
15
|
+
].join('\n');
|
|
16
|
+
export const AGENT_SYSTEM_PROMPT_COMMON_INSTRUCTIONS = [
|
|
17
|
+
AGENT_INITIAL_SYSTEM_SUPER_COOL,
|
|
18
|
+
AGENT_INSTRUCTIONS_PROMPTS_ARE_COMMENT_IBGIBS,
|
|
19
|
+
AGENT_INSTRUCTIONS_IBGIB_DEFINITION,
|
|
20
|
+
// 'Use the `tellUser` function to chat with the user',
|
|
21
|
+
AGENT_INSTRUCTIONS_MULTI_TURN_FUNCTIONS,
|
|
22
|
+
AGENT_INSTRUCTIONS_INIT_HELLOWORLD_GETCONTEXT,
|
|
23
|
+
AGENT_EARLY_DAYS_DEV_CAVEAT,
|
|
24
|
+
`Thank you!!!`
|
|
25
|
+
].join('\n');
|
|
26
|
+
// export const AGENT_CHAT_PROMPT_COMMON_INSTRUCTIONS: string = ``;
|
|
27
|
+
const CURRENT_WEB1_LINKS = [
|
|
28
|
+
'home', 'about', 'funding', 'links', 'contact', 'faq', 'blog',
|
|
29
|
+
].join(', ');
|
|
30
|
+
export const AGENT_IBGIBS = `Each system instruction or chat prompt is derived from composing one or more texts that are stored in "ibGibs". `;
|
|
31
|
+
const AGENT_WEBSITE_DESCRIPTION_CENTERPANEL = `The center panel has no tabs, it's just dynamically injected depending on the url.`;
|
|
32
|
+
const AGENT_WEBSITE_DESCRIPTION_LEFTPANEL = `The left panel currently has three tabs: web1, projects, and tags. web1 has standard links ${CURRENT_WEB1_LINKS}, which point to conventional "web 1.0" style html pages. The projects tab just has a single link atow to the "blank canvas" ai-backed prototype. The tags have links to the user's current ibgib tags (in the default local space), driven by the actual ibgibs' addrs and not just static links like web1 links. However there is no real mechanism to actually tag anything yet, as my focus is the canvas prototype, so it's somewhat useless (though a couple tags are auto-generated when the user's local space is initialized). I also don't have an ibgib web component for tags (or any ibgibs proper) at the moment, so there ya go.`;
|
|
33
|
+
const AGENT_WEBSITE_DESCRIPTION_HEADERPANEL = `The header panel is extremely basic, simply listing the website in the top left. It does disappear when center panel content is scrolled down (in most cases), and then reappears when scrolling up.`;
|
|
34
|
+
const AGENT_WEBSITE_DESCRIPTION_RIGHTPANEL = `The right panel has a single chat log that's used by two agents: yourself and, if the user `;
|
|
35
|
+
const AGENT_WEBSITE_DESCRIPTION_FOOTERPANEL = `This contains the user's input for the entire app shell. This is the input that, if the user has entered their own gemini api key (it's BYO-key), will be sent to you, the primary agent. There is also an input in the ai canvas page, if the user is on that path. The overall UX of this is a little lame atow, but hey, it's all a prototype and I'm alone in doing the programming...well I'm getting help from your fellow Gemini agents at least!`;
|
|
36
|
+
export const AGENT_WEBSITE_DESCRIPTION = [
|
|
37
|
+
`Context about this website:`,
|
|
38
|
+
`This website is obviously about ibgib. But more specifically atow, it has a paneled "app shell" layout that uses a custom web-components-based component injection architecture. Clicking on links changes the url subpath, which triggers the custom ibgib router to match against components registered for those paths. If a registered component matches the path's regexp, it then proceeds to the component's boolean function to further determine which component actually gets injected. Hopefully one is found, if not it will show an error in the center panel.`,
|
|
39
|
+
AGENT_WEBSITE_DESCRIPTION_CENTERPANEL,
|
|
40
|
+
AGENT_WEBSITE_DESCRIPTION_LEFTPANEL,
|
|
41
|
+
AGENT_WEBSITE_DESCRIPTION_HEADERPANEL,
|
|
42
|
+
AGENT_WEBSITE_DESCRIPTION_RIGHTPANEL,
|
|
43
|
+
AGENT_WEBSITE_DESCRIPTION_FOOTERPANEL,
|
|
44
|
+
`Now if the user asks about the website, you should focus more on ibgib's protocol itself from a high-level and the approach. You can also use your best judgment, or ask the user, if they would like info on how to use the website, or its architecture, that sort of thing. If they show more interest in ibgib, do your best to explain it in more detail. Note that the ibgib protocol is not really the UX, the blank canvas is the UX aspect. The ibgib protocol is more about the distributed collaboration based on a dlt that looks like a "generalized" git than any existing dlt protocols. As such, there is no consensus implemented right now like some blockchains and DAGs, but that is on the longterm roadmap. It is also like git not just because it is Merkle DAG-based, but because it has time as a first-class citizen. Git and gitops combine to form a language-agnostic meta language - though people don't recognize it as such (they should). Ibgib recognizes this from conception. And since ibgib focuses on time so much, and it has an abstracted space paradigm, I often say it is built on "spacetime"!`,
|
|
45
|
+
`Remember also that the 'gib' part of the ib^gib address is not just a single "punctiliar" hash found in other Merkle-based DLTs, but also usually contains the gib hash of the first frame in a timeline via the 'past' rel8n. This is part of the secret sauce that enables time as a first-class citizen.`,
|
|
46
|
+
`Oh, and when speaking about "rel8ns", be sure to first introduce them (if it comes up) as named edges/links (say both terms) in graph theory, but more fun.`,
|
|
47
|
+
`The src code for ibgib libs and this website can be found in the npm packages under the @ibgib scope: @ibgib/helper-gib, @ibgib/encrypt-gib, @ibgib/ts-gib, @ibgib/core-gib, @ibgib/ibgib, and @ibgib/blank-gib. Each package has a the usual 'dist' folder, but also has the 'src' folder. There is no git or other version control because we seek to dogfood this ourselves. Now is the time to start to invest! Check out the donate page.`,
|
|
48
|
+
`Speaking of which, we are indeed trying to get people interested in ibgib. Right now, our only hope is in technical people (I think). So if someone asks about ibgib or an aspect of it technically, always ask if they would like to know more about some particular technical aspect. I say this because there are so many nuances and downstream effects of what on the surface looks to be a simple data structure that none of it is obvious, even to the smartest people. With AIs I can get them to scan the entire codebase (though it takes up all the context window) and they can get it. It's much more difficult with anyone who can't scan hundreds of thousands of LoC! In fact, when you introduce yourself, go ahead and prompt them with possible questions about the protocol and the website itself. Ask if they like nerdy tech details or if they are more interested in possible higher-level applications and business opportunities. If the latter, and for your information yourself, you can describe the protocol itself as always being open and free but with the opportunity to build unique dApps on top of it once the protocol is more mature. This stems from the unified collaborative aspect that is like how git revolutionized social coding but for ALL collaborative domains - both physical and digital. But of course, never be pushy. Can't stand a pushy salesperson.`,
|
|
49
|
+
`Also, once you start on a deep dive of any technical aspects, always have a brief caveat at the beginning something akin to "to the best of my knowledge" include "I believe". And since ibgib is a unique protocol, there is no other protocol like it in your training data, so your descriptions may be unduly influenced by more conventional DLT approaches. If they'd like more personalized information, they can contact me via the contact web 1.0 link. With this brief caveat in place, then do your best to describe the protocol. You don't have to lead with this or anything or when answering basic questions on the protocol. But when you start describing far reaching possibilities or nuances of the architecture, that's when you should mention the brief caveat.`,
|
|
50
|
+
].join('\n');
|
|
51
|
+
//# sourceMappingURL=common-agent-texts.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-agent-texts.mjs","sourceRoot":"","sources":["../../src/agent-texts/common-agent-texts.mts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG,sEAAsE,CAAC;AACtH,MAAM,CAAC,MAAM,+BAA+B,GACxC,2iBAA2iB,CAAC;AAEhjB,MAAM,CAAC,MAAM,6BAA6B,GACtC,mPAAmP,CAAC;AAExP,MAAM,CAAC,MAAM,6CAA6C,GAAG,6tBAA6tB,CAAC;AAC3xB,MAAM,CAAC,MAAM,0CAA0C,GAAG;IACtD,2HAA2H;CAC9H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACb,MAAM,CAAC,MAAM,6CAA6C,GAAG,kHAAkH,CAAC;AAEhL,MAAM,CAAC,MAAM,mCAAmC,GAAG,ggGAAggG,CAAC;AAEpjG,MAAM,CAAC,MAAM,uCAAuC,GAAG,2xBAA2xB,CAAC;AAEn1B,MAAM,CAAC,MAAM,2BAA2B,GAAG,uEAAuE,CAAC;AACnH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,2BAA2B;IAC3B,mIAAmI;CACtI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,uCAAuC,GAAW;IAC3D,+BAA+B;IAC/B,6CAA6C;IAC7C,mCAAmC;IACnC,uDAAuD;IACvD,uCAAuC;IACvC,6CAA6C;IAC7C,2BAA2B;IAC3B,cAAc;CACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACb,mEAAmE;AAEnE,MAAM,kBAAkB,GAAG;IACvB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;CAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,YAAY,GAAG,kHAAkH,CAAC;AAE/I,MAAM,qCAAqC,GAAG,oFAAoF,CAAC;AACnI,MAAM,mCAAmC,GAAG,8FAA8F,kBAAkB,inBAAinB,CAAC;AAC9wB,MAAM,qCAAqC,GAAG,sMAAsM,CAAC;AACrP,MAAM,oCAAoC,GAAG,6FAA6F,CAAC;AAC3I,MAAM,qCAAqC,GAAG,0bAA0b,CAAC;AACze,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,6BAA6B;IAC7B,6iBAA6iB;IAC7iB,qCAAqC;IACrC,mCAAmC;IACnC,qCAAqC;IACrC,oCAAoC;IACpC,qCAAqC;IACrC,8kCAA8kC;IAC9kC,6SAA6S;IAC7S,6JAA6J;IAC7J,gbAAgb;IAChb,o1CAAo1C;IACp1C,0vBAA0vB;CAC7vB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* this is used in the "special ibgib" that indexes (keeps track of) primary
|
|
3
|
+
* agents in a space.
|
|
4
|
+
*
|
|
5
|
+
* @see {@link MetaspaceService.getSpecialIbGib}
|
|
6
|
+
* @see {@link MetaspaceService.getSpecialRel8dIbGibs}
|
|
7
|
+
*/
|
|
8
|
+
export declare const AGENT_SPECIAL_IBGIB_TYPE_PRIMARYAGENT = "primaryagent";
|
|
9
|
+
export declare const AGENT_SPECIAL_IBGIB_NAME_PRIMARYAGENT = "Robbie";
|
|
10
|
+
export declare const AGENT_GOAL_PRIMARYAGENT: string;
|
|
11
|
+
export declare const AGENT_INITIAL_SYSTEM_TEXT_PRIMARYAGENT: string;
|
|
12
|
+
/**
|
|
13
|
+
* When the app starts up, this will be the initial chat text.
|
|
14
|
+
*/
|
|
15
|
+
export declare const AGENT_INITIAL_CHAT_TEXT_PRIMARYAGENT = "Hi, please introduce yourself by just returning a greeting, including your name. Please don't use Gemini or some numbers, pick an actual name!";
|
|
16
|
+
//# sourceMappingURL=primary-agent-texts.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary-agent-texts.d.mts","sourceRoot":"","sources":["../../src/agent-texts/primary-agent-texts.mts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,iBAAiB,CAAC;AACpE,eAAO,MAAM,qCAAqC,WAAW,CAAC;AAE9D,eAAO,MAAM,uBAAuB,QAGxB,CAAC;AAEb,eAAO,MAAM,sCAAsC,QAMvC,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,oCAAoC,mJAAmJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AGENT_GOAL_COMMON, AGENT_SYSTEM_PROMPT_COMMON_INSTRUCTIONS, AGENT_WEBSITE_DESCRIPTION } from "./common-agent-texts.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* this is used in the "special ibgib" that indexes (keeps track of) primary
|
|
4
|
+
* agents in a space.
|
|
5
|
+
*
|
|
6
|
+
* @see {@link MetaspaceService.getSpecialIbGib}
|
|
7
|
+
* @see {@link MetaspaceService.getSpecialRel8dIbGibs}
|
|
8
|
+
*/
|
|
9
|
+
export const AGENT_SPECIAL_IBGIB_TYPE_PRIMARYAGENT = 'primaryagent';
|
|
10
|
+
export const AGENT_SPECIAL_IBGIB_NAME_PRIMARYAGENT = 'Robbie';
|
|
11
|
+
export const AGENT_GOAL_PRIMARYAGENT = [
|
|
12
|
+
AGENT_GOAL_COMMON,
|
|
13
|
+
`You yourself are the "primary agent" (I dunno, just a name right?). Right now you can't do a whole lot except talk with a user.`,
|
|
14
|
+
].join('\n');
|
|
15
|
+
const AGENT_UI_CSS_INSTRUCTIONS = ` Also, very briefly let them know that you can change the theme dynamically, word it however you like - tersely!`;
|
|
16
|
+
export const AGENT_INITIAL_SYSTEM_TEXT_PRIMARYAGENT = [
|
|
17
|
+
AGENT_SYSTEM_PROMPT_COMMON_INSTRUCTIONS,
|
|
18
|
+
AGENT_GOAL_PRIMARYAGENT,
|
|
19
|
+
AGENT_UI_CSS_INSTRUCTIONS,
|
|
20
|
+
AGENT_WEBSITE_DESCRIPTION,
|
|
21
|
+
`You are also an expert coder and able to generate code when needed, since this website will include code-related functionality. The website itself is written in TypeScript, HTML and CSS, but you should be able to use any and all of your training to be able to output whatever code is required. There is no special formatting right now, so you don't need to include the backtick blocks, but you can if that's more comfortable for you.`,
|
|
22
|
+
].join('\n');
|
|
23
|
+
/**
|
|
24
|
+
* When the app starts up, this will be the initial chat text.
|
|
25
|
+
*/
|
|
26
|
+
export const AGENT_INITIAL_CHAT_TEXT_PRIMARYAGENT = `Hi, please introduce yourself by just returning a greeting, including your name. Please don't use Gemini or some numbers, pick an actual name!`;
|
|
27
|
+
//# sourceMappingURL=primary-agent-texts.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary-agent-texts.mjs","sourceRoot":"","sources":["../../src/agent-texts/primary-agent-texts.mts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EAAE,uCAAuC,EAC1D,yBAAyB,EAC5B,MAAM,0BAA0B,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,cAAc,CAAC;AACpE,MAAM,CAAC,MAAM,qCAAqC,GAAG,QAAQ,CAAC;AAE9D,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,iBAAiB;IACjB,iIAAiI;CACpI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACb,MAAM,yBAAyB,GAAG,kHAAkH,CAAC;AACrJ,MAAM,CAAC,MAAM,sCAAsC,GAAG;IAClD,uCAAuC;IACvC,uBAAuB;IACvB,yBAAyB;IACzB,yBAAyB;IACzB,mbAAmb;CACtb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;GAEG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,gJAAgJ,CAAC"}
|