ei-agentic-claude 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +13 -0
- package/.github/workflows/ci.yml +37 -0
- package/.github/workflows/npm-publish.yml +37 -0
- package/Dockerfile +44 -0
- package/Edge Impulse API.postman_collection.json +38570 -0
- package/README.md +360 -0
- package/README_PROMPTED_STEPS.md +79 -0
- package/check-keras-block-accuracy.ts +36 -0
- package/claude-config-example.json +17 -0
- package/launch-cli.mjs +14 -0
- package/package.json +39 -0
- package/scripts/apply-llm-suggestions.sh +39 -0
- package/scripts/assess.js +105 -0
- package/scripts/configure-org-projects.js +56 -0
- package/scripts/docker-test.sh +43 -0
- package/scripts/entrypoint.sh +31 -0
- package/scripts/fix-dist-imports.js +77 -0
- package/scripts/generate-integrity-dist.js +41 -0
- package/scripts/generate-prompts.js +89 -0
- package/scripts/list-apis.js +59 -0
- package/scripts/llm-integration-sim.js +120 -0
- package/scripts/llm-runner-sim.js +54 -0
- package/scripts/llm-runner.js +115 -0
- package/scripts/record-and-assess.sh +70 -0
- package/scripts/run-llm-iteration.sh +16 -0
- package/scripts/run-project-tests.sh +80 -0
- package/scripts/run-prompt-tests-sh.sh +43 -0
- package/scripts/run-prompt-tests.sh +53 -0
- package/scripts/smoke-test.js +64 -0
- package/scripts/test-apply-flow.sh +20 -0
- package/scripts/test-mcp-simple.js +50 -0
- package/scripts/test-mcp.js +76 -0
- package/scripts/test-reporter.js +175 -0
- package/setup-claude.sh +37 -0
- package/src/cli-helpers/wait-job.ts +39 -0
- package/src/cli.ts +20 -0
- package/src/mcp-server.ts +262 -0
- package/src/postman/edge-impulse/generate-cli-commands.ts +53 -0
- package/src/postman/edge-impulse/generate-clients.ts +60 -0
- package/src/postman/edge-impulse/generate-integrity.js +49 -0
- package/src/postman/edge-impulse/generated/accept_terms_of_service.ts +18 -0
- package/src/postman/edge-impulse/generated/activate_current_user.ts +18 -0
- package/src/postman/edge-impulse/generated/activate_user.ts +18 -0
- package/src/postman/edge-impulse/generated/activate_user_by_third_party_activation_code.ts +18 -0
- package/src/postman/edge-impulse/generated/add_a_collaborator_to_a_project_within_an_organisation.ts +18 -0
- package/src/postman/edge-impulse/generated/add_a_storage_bucket.ts +18 -0
- package/src/postman/edge-impulse/generated/add_api_key.ts +18 -0
- package/src/postman/edge-impulse/generated/add_collaborator.ts +18 -0
- package/src/postman/edge-impulse/generated/add_current_user_to_a_project.ts +18 -0
- package/src/postman/edge-impulse/generated/add_data_items_from_bucket.ts +18 -0
- package/src/postman/edge-impulse/generated/add_deploy_block.ts +18 -0
- package/src/postman/edge-impulse/generated/add_dsp_block.ts +18 -0
- package/src/postman/edge-impulse/generated/add_files.ts +18 -0
- package/src/postman/edge-impulse/generated/add_hmac_key.ts +18 -0
- package/src/postman/edge-impulse/generated/add_keywords_and_noise.ts +18 -0
- package/src/postman/edge-impulse/generated/add_member.ts +18 -0
- package/src/postman/edge-impulse/generated/add_new_data.ts +18 -0
- package/src/postman/edge-impulse/generated/add_note.ts +18 -0
- package/src/postman/edge-impulse/generated/add_secret.ts +18 -0
- package/src/postman/edge-impulse/generated/add_transfer_learning_block.ts +18 -0
- package/src/postman/edge-impulse/generated/add_transformation_block.ts +18 -0
- package/src/postman/edge-impulse/generated/add_user_to_a_project.ts +18 -0
- package/src/postman/edge-impulse/generated/admin_endpoint.ts +18 -0
- package/src/postman/edge-impulse/generated/anomaly_information.ts +18 -0
- package/src/postman/edge-impulse/generated/anomaly_metadata.ts +18 -0
- package/src/postman/edge-impulse/generated/anomaly_settings.ts +18 -0
- package/src/postman/edge-impulse/generated/auto_label_an_image.ts +18 -0
- package/src/postman/edge-impulse/generated/autotune_dsp_parameters.ts +18 -0
- package/src/postman/edge-impulse/generated/build_on_device_model.ts +18 -0
- package/src/postman/edge-impulse/generated/build_organizational_on_device_model.ts +18 -0
- package/src/postman/edge-impulse/generated/bulk_update_metadata.ts +18 -0
- package/src/postman/edge-impulse/generated/cancel_job.ts +18 -0
- package/src/postman/edge-impulse/generated/change_dataset.ts +18 -0
- package/src/postman/edge-impulse/generated/change_password.ts +18 -0
- package/src/postman/edge-impulse/generated/change_password_current_user.ts +18 -0
- package/src/postman/edge-impulse/generated/check_data_explorer_features.ts +18 -0
- package/src/postman/edge-impulse/generated/check_evaluate_job_result_cache.ts +18 -0
- package/src/postman/edge-impulse/generated/classify.ts +18 -0
- package/src/postman/edge-impulse/generated/classify_job_result.ts +18 -0
- package/src/postman/edge-impulse/generated/classify_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/clear_checklist_for_data.ts +18 -0
- package/src/postman/edge-impulse/generated/clear_data_explorer.ts +18 -0
- package/src/postman/edge-impulse/generated/clear_dsp_block.ts +18 -0
- package/src/postman/edge-impulse/generated/clear_failed_transform_jobs.ts +18 -0
- package/src/postman/edge-impulse/generated/clear_performance_calibration_parameters.ts +18 -0
- package/src/postman/edge-impulse/generated/cli-commands/accept_terms_of_service.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/activate_current_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/activate_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/activate_user_by_third_party_activation_code.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_a_collaborator_to_a_project_within_an_organisation.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_a_storage_bucket.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_api_key.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_collaborator.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_current_user_to_a_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_data_items_from_bucket.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_deploy_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_dsp_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_files.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_hmac_key.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_keywords_and_noise.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_member.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_new_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_note.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_secret.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_transfer_learning_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_transformation_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/add_user_to_a_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/admin_endpoint.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/anomaly_information.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/anomaly_metadata.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/anomaly_settings.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/auto_label_an_image.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/autotune_dsp_parameters.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/build_on_device_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/build_organizational_on_device_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/bulk_update_metadata.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/cancel_job.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/change_dataset.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/change_password.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/change_password_current_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/check_data_explorer_features.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/check_evaluate_job_result_cache.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/classify.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/classify_job_result.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/classify_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/clear_checklist_for_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/clear_data_explorer.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/clear_dsp_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/clear_failed_transform_jobs.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/clear_performance_calibration_parameters.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/convert_current_evaluation_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/count_samples.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_a_new_organization.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_a_new_white_label.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_developer_profile.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_device.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_evaluation_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_impulse.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_new_block_version.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_new_empty_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_new_organization.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_new_organization_within_white_label_context.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_new_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_or_login_a_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_pipeline.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_pre_signed_s3_upload_link.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_third_party_auth.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_trial.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_upload_portal.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/create_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/crop_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_a_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_a_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_an_organization.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_create_project_file.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_current_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_deploy_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_device.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_dsp_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_eon_tuner_state.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_file.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_file_from_portal.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_impulse.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_photo.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_pipeline.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_theme_by_id.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_third_party_auth.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_transfer_learning_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_transformation_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_transformation_job.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_upload_portal.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/delete_versions.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/deletes_a_white_label.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/deploy_pretrained_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/deployment_targets.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/deployment_targets_data_sources.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/disable_multiple_samples.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/disable_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/discourse.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_dsp_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_dsp_labels.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_file.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_file_from_portal.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_keras_data_export.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_keras_export.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_labels.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_logs.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/download_trained_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/edit_label.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/edit_labels_for_multiple_samples.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/enable_multiple_samples.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/enable_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/evaluate.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/evaluate_job_result.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/export_data_as_wav.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/export_keras_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/export_keras_block_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/export_original_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/feature_importance.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/feature_labels.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/features_for_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/find_a_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/find_segments.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/find_syntiant_posterior_parameters.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/generate_data_explorer_features.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/generate_features.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_a_white_label_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_a_white_label_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_all_organizations.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_all_organizations_within_a_white_label.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_all_projects.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_all_third_party_auth.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_all_user_ids.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_all_user_ids_active_last_30_days.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_all_users.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_all_white_label_projects.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_all_white_label_users.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_api_keys.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_buckets.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_buckets_current_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_config.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_current_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_data_axes_summary.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_data_explorer_features.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_data_explorer_predictions.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_data_explorer_settings.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_data_metadata.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_dataset.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_deploy_blocks.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_deployment_info.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_development_keys.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_device.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_downloads.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_dsp_blocks.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_global_metrics.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_global_white_label_metrics.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_ground_truth.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_hmac_keys.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_image_file.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_impulse.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_impulse_blocks.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_impulse_including_disabled_blocks.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_job_status.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_jwt_token.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_logs.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_metadata.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_notes.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_organization_information.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_organizations.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_parameter_sets.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_parameters.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_pipeline.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_pretrained_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_processed_sample_slice.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_project_sample_metadata.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_projects.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_public_metrics.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_raw_result.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_raw_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_raw_sample_slice.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_results_from_dsp_autotuner.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_sample_slice.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_secrets.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_socket_token.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_socket_token_for_an_organization.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_status.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_studio_api_containers_health.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_studio_web_containers_health.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_syntiant_posterior_parameters.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_tflite_profile_result.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_the_interval_in_ms_of_the_training_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_the_original_downsampled_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_theme_by_id.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_themes.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_third_party_auth.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_transfer_learning_blocks.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_transformation_blocks.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_transformation_job_status.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_trial_logs.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_url_of_export.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_user_by_third_party_activation_code.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_user_metrics.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_user_password_state.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_video_file.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_wav_file.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_white_label_domain.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_white_label_user_metrics.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/get_window_settings.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/give_access_to_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/hide_dataset.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/invite_member.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/job_summary.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/keras_information.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/keras_metadata.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/keras_settings.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/last_modification.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/launch_getting_started_wizard.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_active_jobs.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_active_organizations.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_active_projects.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_all_jobs.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_archived_pipelines.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_emails.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_files.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_files_in_portal.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_finished_jobs.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_pipelines.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_public_projects.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_public_versions.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_samples.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_storage_buckets.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_the_registered_white_labels.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_transformation_jobs.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_upload_portals.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/list_versions.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/lists_devices.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/make_a_version_public.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/make_version_private.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/move_multiple_samples.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/move_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/object_detection_label_queue.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/object_detection_label_queue_count.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/optimize_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/organization_information.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/performance_calibration.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/portal_info.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/preview_file.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/profile_custom_dsp_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/profile_pretrained_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/profile_tflite_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/project_information.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/readme_io.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/rebalance_dataset.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/refresh_data.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_all_samples.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_all_samples_by_category.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_collaborator.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_current_user_from_a_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_hmac_key.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_member.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_multiple_samples.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_note.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_organization.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_storage_bucket.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/remove_user_from_a_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/rename.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/rename_file_from_portal.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/rename_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/request_activation_code.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/request_reset_password.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/resend_invitation.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/reset_password.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/restore_project_to_public_version.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/restore_project_to_version.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retrain.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retrieve_upload_portal_information.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retrieves_available_transfer_learning_models.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retrieves_dsp_block_parameters.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retrieves_the_eon_tuner_state.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retry_connection_to_dsp_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retry_failed_transform_jobs.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retry_processing.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retry_transformation_file.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/retry_transformation_upload_job.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/revoke_api_key.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/rotate_upload_portal_token.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/run_pipelines.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/sample_of_trained_features.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/save_parameters_for_pretrained_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/save_performance_calibration_parameters.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/score_trial.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/search_space.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/segment_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_bounding_boxes.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_compute_time_limit.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_config.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_data_explorer_settings.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_dsp_file_size_limit.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_member_datasets.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_member_role.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_password_for_sso_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_sample_metadata.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/set_syntiant_posterior_parameters.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/sets_eon_tuner_primary_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/split_sample_into_frames.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/start_sampling.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/start_transformation_job.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/store_the_last_segment_length.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/test_pretrained_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/track_objects.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/train_model_anomaly.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/train_model_keras.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/trained_features.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/trained_features_for_sample.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/transfer_ownership_organization.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/transfer_ownership_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_block_version_details.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_config.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_current_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_data_metadata.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_dataset.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_deploy_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_deployment_targets.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_dsp_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_job.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_note.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_organization.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_pipeline.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_storage_bucket.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_tags.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_theme_colors.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_theme_favicon.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_theme_logos.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_third_party_auth.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_transfer_learning_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_transformation_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_transformation_job.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_upload_portal.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_version.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_white_label_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/update_white_label_user.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/upload_a_custom_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/upload_a_data_explorer_screenshot.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/upload_a_pretrained_model.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/upload_image_for_readme.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/upload_keras_files.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/upload_organization_header_image.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/upload_organization_logo.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/upload_performance_calibration_audio_files.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/upload_photo.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/user_cdn_resource.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/verify_bucket_connectivity.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/verify_custom_dsp_block.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/verify_reset_password_code.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/verify_upload_portal_information.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/version_project.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/view_file_from_portal.ts +19 -0
- package/src/postman/edge-impulse/generated/cli-commands/wait_job.ts +22 -0
- package/src/postman/edge-impulse/generated/cli-commands/white_label_information.ts +19 -0
- package/src/postman/edge-impulse/generated/convert_current_evaluation_user.ts +18 -0
- package/src/postman/edge-impulse/generated/count_samples.ts +18 -0
- package/src/postman/edge-impulse/generated/create_a_new_organization.ts +18 -0
- package/src/postman/edge-impulse/generated/create_a_new_white_label.ts +18 -0
- package/src/postman/edge-impulse/generated/create_developer_profile.ts +18 -0
- package/src/postman/edge-impulse/generated/create_device.ts +18 -0
- package/src/postman/edge-impulse/generated/create_evaluation_user.ts +18 -0
- package/src/postman/edge-impulse/generated/create_impulse.ts +18 -0
- package/src/postman/edge-impulse/generated/create_new_block_version.ts +18 -0
- package/src/postman/edge-impulse/generated/create_new_empty_project.ts +18 -0
- package/src/postman/edge-impulse/generated/create_new_organization.ts +18 -0
- package/src/postman/edge-impulse/generated/create_new_organization_within_white_label_context.ts +18 -0
- package/src/postman/edge-impulse/generated/create_new_project.ts +18 -0
- package/src/postman/edge-impulse/generated/create_or_login_a_user.ts +18 -0
- package/src/postman/edge-impulse/generated/create_pipeline.ts +18 -0
- package/src/postman/edge-impulse/generated/create_pre_signed_s3_upload_link.ts +18 -0
- package/src/postman/edge-impulse/generated/create_third_party_auth.ts +18 -0
- package/src/postman/edge-impulse/generated/create_trial.ts +18 -0
- package/src/postman/edge-impulse/generated/create_upload_portal.ts +18 -0
- package/src/postman/edge-impulse/generated/create_user.ts +18 -0
- package/src/postman/edge-impulse/generated/crop_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_a_project.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_a_user.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_an_organization.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_create_project_file.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_current_user.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_data.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_deploy_block.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_device.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_dsp_block.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_eon_tuner_state.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_file.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_file_from_portal.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_impulse.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_photo.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_pipeline.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_theme_by_id.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_third_party_auth.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_transfer_learning_block.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_transformation_block.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_transformation_job.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_upload_portal.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_user.ts +18 -0
- package/src/postman/edge-impulse/generated/delete_versions.ts +18 -0
- package/src/postman/edge-impulse/generated/deletes_a_white_label.ts +18 -0
- package/src/postman/edge-impulse/generated/deploy_pretrained_model.ts +18 -0
- package/src/postman/edge-impulse/generated/deployment_targets.ts +18 -0
- package/src/postman/edge-impulse/generated/deployment_targets_data_sources.ts +18 -0
- package/src/postman/edge-impulse/generated/disable_multiple_samples.ts +18 -0
- package/src/postman/edge-impulse/generated/disable_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/discourse.ts +18 -0
- package/src/postman/edge-impulse/generated/download.ts +18 -0
- package/src/postman/edge-impulse/generated/download_data.ts +18 -0
- package/src/postman/edge-impulse/generated/download_dsp_data.ts +18 -0
- package/src/postman/edge-impulse/generated/download_dsp_labels.ts +18 -0
- package/src/postman/edge-impulse/generated/download_file.ts +18 -0
- package/src/postman/edge-impulse/generated/download_file_from_portal.ts +18 -0
- package/src/postman/edge-impulse/generated/download_keras_data_export.ts +18 -0
- package/src/postman/edge-impulse/generated/download_keras_export.ts +18 -0
- package/src/postman/edge-impulse/generated/download_labels.ts +18 -0
- package/src/postman/edge-impulse/generated/download_logs.ts +18 -0
- package/src/postman/edge-impulse/generated/download_trained_model.ts +18 -0
- package/src/postman/edge-impulse/generated/edit_label.ts +18 -0
- package/src/postman/edge-impulse/generated/edit_labels_for_multiple_samples.ts +18 -0
- package/src/postman/edge-impulse/generated/enable_multiple_samples.ts +18 -0
- package/src/postman/edge-impulse/generated/enable_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/evaluate.ts +18 -0
- package/src/postman/edge-impulse/generated/evaluate_job_result.ts +18 -0
- package/src/postman/edge-impulse/generated/export_data_as_wav.ts +18 -0
- package/src/postman/edge-impulse/generated/export_keras_block.ts +18 -0
- package/src/postman/edge-impulse/generated/export_keras_block_data.ts +18 -0
- package/src/postman/edge-impulse/generated/export_original_data.ts +18 -0
- package/src/postman/edge-impulse/generated/feature_importance.ts +18 -0
- package/src/postman/edge-impulse/generated/feature_labels.ts +18 -0
- package/src/postman/edge-impulse/generated/features_for_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/find_a_user.ts +18 -0
- package/src/postman/edge-impulse/generated/find_segments.ts +18 -0
- package/src/postman/edge-impulse/generated/find_syntiant_posterior_parameters.ts +18 -0
- package/src/postman/edge-impulse/generated/generate_data_explorer_features.ts +18 -0
- package/src/postman/edge-impulse/generated/generate_features.ts +18 -0
- package/src/postman/edge-impulse/generated/get_a_white_label_project.ts +18 -0
- package/src/postman/edge-impulse/generated/get_a_white_label_user.ts +18 -0
- package/src/postman/edge-impulse/generated/get_all_organizations.ts +18 -0
- package/src/postman/edge-impulse/generated/get_all_organizations_within_a_white_label.ts +18 -0
- package/src/postman/edge-impulse/generated/get_all_projects.ts +18 -0
- package/src/postman/edge-impulse/generated/get_all_third_party_auth.ts +18 -0
- package/src/postman/edge-impulse/generated/get_all_user_ids.ts +18 -0
- package/src/postman/edge-impulse/generated/get_all_user_ids_active_last_30_days.ts +18 -0
- package/src/postman/edge-impulse/generated/get_all_users.ts +18 -0
- package/src/postman/edge-impulse/generated/get_all_white_label_projects.ts +18 -0
- package/src/postman/edge-impulse/generated/get_all_white_label_users.ts +18 -0
- package/src/postman/edge-impulse/generated/get_api_keys.ts +18 -0
- package/src/postman/edge-impulse/generated/get_buckets.ts +18 -0
- package/src/postman/edge-impulse/generated/get_buckets_current_user.ts +18 -0
- package/src/postman/edge-impulse/generated/get_config.ts +18 -0
- package/src/postman/edge-impulse/generated/get_current_user.ts +18 -0
- package/src/postman/edge-impulse/generated/get_data_axes_summary.ts +18 -0
- package/src/postman/edge-impulse/generated/get_data_explorer_features.ts +18 -0
- package/src/postman/edge-impulse/generated/get_data_explorer_predictions.ts +18 -0
- package/src/postman/edge-impulse/generated/get_data_explorer_settings.ts +18 -0
- package/src/postman/edge-impulse/generated/get_data_metadata.ts +18 -0
- package/src/postman/edge-impulse/generated/get_dataset.ts +18 -0
- package/src/postman/edge-impulse/generated/get_deploy_blocks.ts +18 -0
- package/src/postman/edge-impulse/generated/get_deployment_info.ts +18 -0
- package/src/postman/edge-impulse/generated/get_development_keys.ts +18 -0
- package/src/postman/edge-impulse/generated/get_device.ts +18 -0
- package/src/postman/edge-impulse/generated/get_downloads.ts +18 -0
- package/src/postman/edge-impulse/generated/get_dsp_blocks.ts +18 -0
- package/src/postman/edge-impulse/generated/get_global_metrics.ts +18 -0
- package/src/postman/edge-impulse/generated/get_global_white_label_metrics.ts +18 -0
- package/src/postman/edge-impulse/generated/get_ground_truth.ts +18 -0
- package/src/postman/edge-impulse/generated/get_hmac_keys.ts +18 -0
- package/src/postman/edge-impulse/generated/get_image_file.ts +18 -0
- package/src/postman/edge-impulse/generated/get_impulse.ts +18 -0
- package/src/postman/edge-impulse/generated/get_impulse_blocks.ts +18 -0
- package/src/postman/edge-impulse/generated/get_impulse_including_disabled_blocks.ts +18 -0
- package/src/postman/edge-impulse/generated/get_job_status.ts +29 -0
- package/src/postman/edge-impulse/generated/get_jwt_token.ts +18 -0
- package/src/postman/edge-impulse/generated/get_logs.ts +18 -0
- package/src/postman/edge-impulse/generated/get_metadata.ts +18 -0
- package/src/postman/edge-impulse/generated/get_notes.ts +18 -0
- package/src/postman/edge-impulse/generated/get_organization_information.ts +18 -0
- package/src/postman/edge-impulse/generated/get_organizations.ts +18 -0
- package/src/postman/edge-impulse/generated/get_parameter_sets.ts +18 -0
- package/src/postman/edge-impulse/generated/get_parameters.ts +18 -0
- package/src/postman/edge-impulse/generated/get_pipeline.ts +18 -0
- package/src/postman/edge-impulse/generated/get_pretrained_model.ts +18 -0
- package/src/postman/edge-impulse/generated/get_processed_sample_slice.ts +18 -0
- package/src/postman/edge-impulse/generated/get_project.ts +18 -0
- package/src/postman/edge-impulse/generated/get_project_sample_metadata.ts +18 -0
- package/src/postman/edge-impulse/generated/get_projects.ts +48 -0
- package/src/postman/edge-impulse/generated/get_public_metrics.ts +18 -0
- package/src/postman/edge-impulse/generated/get_raw_result.ts +18 -0
- package/src/postman/edge-impulse/generated/get_raw_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/get_raw_sample_slice.ts +18 -0
- package/src/postman/edge-impulse/generated/get_results_from_dsp_autotuner.ts +18 -0
- package/src/postman/edge-impulse/generated/get_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/get_sample_slice.ts +18 -0
- package/src/postman/edge-impulse/generated/get_secrets.ts +18 -0
- package/src/postman/edge-impulse/generated/get_socket_token.ts +18 -0
- package/src/postman/edge-impulse/generated/get_socket_token_for_an_organization.ts +18 -0
- package/src/postman/edge-impulse/generated/get_status.ts +18 -0
- package/src/postman/edge-impulse/generated/get_studio_api_containers_health.ts +18 -0
- package/src/postman/edge-impulse/generated/get_studio_web_containers_health.ts +18 -0
- package/src/postman/edge-impulse/generated/get_syntiant_posterior_parameters.ts +18 -0
- package/src/postman/edge-impulse/generated/get_tflite_profile_result.ts +18 -0
- package/src/postman/edge-impulse/generated/get_the_interval_in_ms_of_the_training_data.ts +18 -0
- package/src/postman/edge-impulse/generated/get_the_original_downsampled_data.ts +18 -0
- package/src/postman/edge-impulse/generated/get_theme_by_id.ts +18 -0
- package/src/postman/edge-impulse/generated/get_themes.ts +18 -0
- package/src/postman/edge-impulse/generated/get_third_party_auth.ts +18 -0
- package/src/postman/edge-impulse/generated/get_transfer_learning_blocks.ts +18 -0
- package/src/postman/edge-impulse/generated/get_transformation_blocks.ts +18 -0
- package/src/postman/edge-impulse/generated/get_transformation_job_status.ts +18 -0
- package/src/postman/edge-impulse/generated/get_trial_logs.ts +18 -0
- package/src/postman/edge-impulse/generated/get_url_of_export.ts +18 -0
- package/src/postman/edge-impulse/generated/get_user.ts +18 -0
- package/src/postman/edge-impulse/generated/get_user_by_third_party_activation_code.ts +18 -0
- package/src/postman/edge-impulse/generated/get_user_metrics.ts +18 -0
- package/src/postman/edge-impulse/generated/get_user_password_state.ts +18 -0
- package/src/postman/edge-impulse/generated/get_video_file.ts +18 -0
- package/src/postman/edge-impulse/generated/get_wav_file.ts +18 -0
- package/src/postman/edge-impulse/generated/get_white_label_domain.ts +18 -0
- package/src/postman/edge-impulse/generated/get_white_label_user_metrics.ts +18 -0
- package/src/postman/edge-impulse/generated/get_window_settings.ts +18 -0
- package/src/postman/edge-impulse/generated/give_access_to_project.ts +18 -0
- package/src/postman/edge-impulse/generated/hide_dataset.ts +18 -0
- package/src/postman/edge-impulse/generated/invite_member.ts +18 -0
- package/src/postman/edge-impulse/generated/job_summary.ts +18 -0
- package/src/postman/edge-impulse/generated/keras_information.ts +18 -0
- package/src/postman/edge-impulse/generated/keras_metadata.ts +18 -0
- package/src/postman/edge-impulse/generated/keras_settings.ts +18 -0
- package/src/postman/edge-impulse/generated/last_modification.ts +18 -0
- package/src/postman/edge-impulse/generated/launch_getting_started_wizard.ts +18 -0
- package/src/postman/edge-impulse/generated/list_active_jobs.ts +18 -0
- package/src/postman/edge-impulse/generated/list_active_organizations.ts +18 -0
- package/src/postman/edge-impulse/generated/list_active_projects.ts +18 -0
- package/src/postman/edge-impulse/generated/list_all_jobs.ts +18 -0
- package/src/postman/edge-impulse/generated/list_archived_pipelines.ts +18 -0
- package/src/postman/edge-impulse/generated/list_data.ts +18 -0
- package/src/postman/edge-impulse/generated/list_emails.ts +18 -0
- package/src/postman/edge-impulse/generated/list_files.ts +18 -0
- package/src/postman/edge-impulse/generated/list_files_in_portal.ts +18 -0
- package/src/postman/edge-impulse/generated/list_finished_jobs.ts +18 -0
- package/src/postman/edge-impulse/generated/list_pipelines.ts +18 -0
- package/src/postman/edge-impulse/generated/list_public_projects.ts +18 -0
- package/src/postman/edge-impulse/generated/list_public_versions.ts +18 -0
- package/src/postman/edge-impulse/generated/list_samples.ts +18 -0
- package/src/postman/edge-impulse/generated/list_storage_buckets.ts +18 -0
- package/src/postman/edge-impulse/generated/list_the_registered_white_labels.ts +18 -0
- package/src/postman/edge-impulse/generated/list_transformation_jobs.ts +18 -0
- package/src/postman/edge-impulse/generated/list_upload_portals.ts +18 -0
- package/src/postman/edge-impulse/generated/list_versions.ts +18 -0
- package/src/postman/edge-impulse/generated/lists_devices.ts +18 -0
- package/src/postman/edge-impulse/generated/make_a_version_public.ts +18 -0
- package/src/postman/edge-impulse/generated/make_version_private.ts +18 -0
- package/src/postman/edge-impulse/generated/move_multiple_samples.ts +18 -0
- package/src/postman/edge-impulse/generated/move_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/object_detection_label_queue.ts +18 -0
- package/src/postman/edge-impulse/generated/object_detection_label_queue_count.ts +18 -0
- package/src/postman/edge-impulse/generated/optimize_model.ts +28 -0
- package/src/postman/edge-impulse/generated/organization_information.ts +18 -0
- package/src/postman/edge-impulse/generated/performance_calibration.ts +18 -0
- package/src/postman/edge-impulse/generated/portal_info.ts +18 -0
- package/src/postman/edge-impulse/generated/preview_file.ts +18 -0
- package/src/postman/edge-impulse/generated/profile_custom_dsp_block.ts +18 -0
- package/src/postman/edge-impulse/generated/profile_pretrained_model.ts +18 -0
- package/src/postman/edge-impulse/generated/profile_tflite_model.ts +18 -0
- package/src/postman/edge-impulse/generated/project_information.ts +18 -0
- package/src/postman/edge-impulse/generated/readme_io.ts +18 -0
- package/src/postman/edge-impulse/generated/rebalance_dataset.ts +18 -0
- package/src/postman/edge-impulse/generated/refresh_data.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_all_samples.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_all_samples_by_category.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_collaborator.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_current_user_from_a_project.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_hmac_key.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_member.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_multiple_samples.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_note.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_organization.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_project.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_storage_bucket.ts +18 -0
- package/src/postman/edge-impulse/generated/remove_user_from_a_project.ts +18 -0
- package/src/postman/edge-impulse/generated/rename.ts +18 -0
- package/src/postman/edge-impulse/generated/rename_file_from_portal.ts +18 -0
- package/src/postman/edge-impulse/generated/rename_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/request_activation_code.ts +18 -0
- package/src/postman/edge-impulse/generated/request_reset_password.ts +18 -0
- package/src/postman/edge-impulse/generated/resend_invitation.ts +18 -0
- package/src/postman/edge-impulse/generated/reset_password.ts +18 -0
- package/src/postman/edge-impulse/generated/restore_project_to_public_version.ts +18 -0
- package/src/postman/edge-impulse/generated/restore_project_to_version.ts +18 -0
- package/src/postman/edge-impulse/generated/retrain.ts +32 -0
- package/src/postman/edge-impulse/generated/retrieve_upload_portal_information.ts +18 -0
- package/src/postman/edge-impulse/generated/retrieves_available_transfer_learning_models.ts +18 -0
- package/src/postman/edge-impulse/generated/retrieves_dsp_block_parameters.ts +18 -0
- package/src/postman/edge-impulse/generated/retrieves_the_eon_tuner_state.ts +18 -0
- package/src/postman/edge-impulse/generated/retry_connection_to_dsp_block.ts +18 -0
- package/src/postman/edge-impulse/generated/retry_failed_transform_jobs.ts +18 -0
- package/src/postman/edge-impulse/generated/retry_processing.ts +18 -0
- package/src/postman/edge-impulse/generated/retry_transformation_file.ts +18 -0
- package/src/postman/edge-impulse/generated/retry_transformation_upload_job.ts +18 -0
- package/src/postman/edge-impulse/generated/revoke_api_key.ts +18 -0
- package/src/postman/edge-impulse/generated/rotate_upload_portal_token.ts +18 -0
- package/src/postman/edge-impulse/generated/run_pipelines.ts +18 -0
- package/src/postman/edge-impulse/generated/sample_of_trained_features.ts +18 -0
- package/src/postman/edge-impulse/generated/save_parameters_for_pretrained_model.ts +18 -0
- package/src/postman/edge-impulse/generated/save_performance_calibration_parameters.ts +18 -0
- package/src/postman/edge-impulse/generated/score_trial.ts +18 -0
- package/src/postman/edge-impulse/generated/search_space.ts +18 -0
- package/src/postman/edge-impulse/generated/segment_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/set_bounding_boxes.ts +18 -0
- package/src/postman/edge-impulse/generated/set_compute_time_limit.ts +18 -0
- package/src/postman/edge-impulse/generated/set_config.ts +18 -0
- package/src/postman/edge-impulse/generated/set_data_explorer_settings.ts +18 -0
- package/src/postman/edge-impulse/generated/set_dsp_file_size_limit.ts +18 -0
- package/src/postman/edge-impulse/generated/set_member_datasets.ts +18 -0
- package/src/postman/edge-impulse/generated/set_member_role.ts +18 -0
- package/src/postman/edge-impulse/generated/set_password_for_sso_user.ts +18 -0
- package/src/postman/edge-impulse/generated/set_sample_metadata.ts +18 -0
- package/src/postman/edge-impulse/generated/set_syntiant_posterior_parameters.ts +18 -0
- package/src/postman/edge-impulse/generated/sets_eon_tuner_primary_model.ts +18 -0
- package/src/postman/edge-impulse/generated/split_sample_into_frames.ts +18 -0
- package/src/postman/edge-impulse/generated/start_sampling.ts +18 -0
- package/src/postman/edge-impulse/generated/start_transformation_job.ts +18 -0
- package/src/postman/edge-impulse/generated/store_the_last_segment_length.ts +18 -0
- package/src/postman/edge-impulse/generated/test_pretrained_model.ts +18 -0
- package/src/postman/edge-impulse/generated/track_objects.ts +18 -0
- package/src/postman/edge-impulse/generated/train_model_anomaly.ts +18 -0
- package/src/postman/edge-impulse/generated/train_model_keras.ts +34 -0
- package/src/postman/edge-impulse/generated/trained_features.ts +18 -0
- package/src/postman/edge-impulse/generated/trained_features_for_sample.ts +18 -0
- package/src/postman/edge-impulse/generated/transfer_ownership_organization.ts +18 -0
- package/src/postman/edge-impulse/generated/transfer_ownership_user.ts +18 -0
- package/src/postman/edge-impulse/generated/update_block_version_details.ts +18 -0
- package/src/postman/edge-impulse/generated/update_config.ts +18 -0
- package/src/postman/edge-impulse/generated/update_current_user.ts +18 -0
- package/src/postman/edge-impulse/generated/update_data_metadata.ts +18 -0
- package/src/postman/edge-impulse/generated/update_dataset.ts +18 -0
- package/src/postman/edge-impulse/generated/update_deploy_block.ts +18 -0
- package/src/postman/edge-impulse/generated/update_deployment_targets.ts +18 -0
- package/src/postman/edge-impulse/generated/update_dsp_block.ts +18 -0
- package/src/postman/edge-impulse/generated/update_job.ts +18 -0
- package/src/postman/edge-impulse/generated/update_note.ts +18 -0
- package/src/postman/edge-impulse/generated/update_organization.ts +18 -0
- package/src/postman/edge-impulse/generated/update_pipeline.ts +18 -0
- package/src/postman/edge-impulse/generated/update_project.ts +18 -0
- package/src/postman/edge-impulse/generated/update_storage_bucket.ts +18 -0
- package/src/postman/edge-impulse/generated/update_tags.ts +18 -0
- package/src/postman/edge-impulse/generated/update_theme_colors.ts +18 -0
- package/src/postman/edge-impulse/generated/update_theme_favicon.ts +18 -0
- package/src/postman/edge-impulse/generated/update_theme_logos.ts +18 -0
- package/src/postman/edge-impulse/generated/update_third_party_auth.ts +18 -0
- package/src/postman/edge-impulse/generated/update_transfer_learning_block.ts +18 -0
- package/src/postman/edge-impulse/generated/update_transformation_block.ts +18 -0
- package/src/postman/edge-impulse/generated/update_transformation_job.ts +18 -0
- package/src/postman/edge-impulse/generated/update_upload_portal.ts +18 -0
- package/src/postman/edge-impulse/generated/update_user.ts +18 -0
- package/src/postman/edge-impulse/generated/update_version.ts +18 -0
- package/src/postman/edge-impulse/generated/update_white_label_project.ts +18 -0
- package/src/postman/edge-impulse/generated/update_white_label_user.ts +18 -0
- package/src/postman/edge-impulse/generated/upload_a_custom_block.ts +18 -0
- package/src/postman/edge-impulse/generated/upload_a_data_explorer_screenshot.ts +18 -0
- package/src/postman/edge-impulse/generated/upload_a_pretrained_model.ts +18 -0
- package/src/postman/edge-impulse/generated/upload_image_for_readme.ts +18 -0
- package/src/postman/edge-impulse/generated/upload_keras_files.ts +18 -0
- package/src/postman/edge-impulse/generated/upload_organization_header_image.ts +18 -0
- package/src/postman/edge-impulse/generated/upload_organization_logo.ts +18 -0
- package/src/postman/edge-impulse/generated/upload_performance_calibration_audio_files.ts +18 -0
- package/src/postman/edge-impulse/generated/upload_photo.ts +18 -0
- package/src/postman/edge-impulse/generated/user_cdn_resource.ts +18 -0
- package/src/postman/edge-impulse/generated/verify_bucket_connectivity.ts +18 -0
- package/src/postman/edge-impulse/generated/verify_custom_dsp_block.ts +18 -0
- package/src/postman/edge-impulse/generated/verify_reset_password_code.ts +18 -0
- package/src/postman/edge-impulse/generated/verify_upload_portal_information.ts +18 -0
- package/src/postman/edge-impulse/generated/version_project.ts +18 -0
- package/src/postman/edge-impulse/generated/view_file_from_portal.ts +18 -0
- package/src/postman/edge-impulse/generated/white_label_information.ts +18 -0
- package/src/postman/edge-impulse/integrity.json +367 -0
- package/src/postman/edge-impulse/projects/list-projects/client.ts +26 -0
- package/src/postman/edge-impulse/projects/upload-data/client.ts +51 -0
- package/src/postman/edge-impulse/shared/types.ts +39 -0
- package/src/postman/edge-impulse/training/start-training/client.ts +47 -0
- package/src/postman/edge-impulse/training/start-training/evaluate.ts +32 -0
- package/src/postman/edge-impulse/training/start-training/status.ts +20 -0
- package/src/register-generated-commands.ts +47 -0
- package/test/api-coverage.spec.ts +177 -0
- package/test/cli.spec.ts +29 -0
- package/test/mock-server.ts +431 -0
- package/tsconfig.json +13 -0
- package/tutorial.md +69 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
|
|
5
|
+
function loadJson(p) {
|
|
6
|
+
try {
|
|
7
|
+
return JSON.parse(fs.readFileSync(p, 'utf8'));
|
|
8
|
+
} catch (e) {
|
|
9
|
+
console.error('Failed to load JSON', p, e.message);
|
|
10
|
+
process.exit(2);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function collectMetrics(obj, prefix = '') {
|
|
15
|
+
const metrics = {};
|
|
16
|
+
if (obj && typeof obj === 'object') {
|
|
17
|
+
for (const k of Object.keys(obj)) {
|
|
18
|
+
const v = obj[k];
|
|
19
|
+
const key = prefix ? `${prefix}.${k}` : k;
|
|
20
|
+
if (typeof v === 'number') {
|
|
21
|
+
if (/acc|accuracy|f1|precision|recall|auc|score|loss/i.test(k)) {
|
|
22
|
+
metrics[key] = v;
|
|
23
|
+
}
|
|
24
|
+
} else if (typeof v === 'object') {
|
|
25
|
+
Object.assign(metrics, collectMetrics(v, key));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return metrics;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function diffMetrics(before, after) {
|
|
33
|
+
const keys = new Set([...Object.keys(before), ...Object.keys(after)]);
|
|
34
|
+
const diffs = [];
|
|
35
|
+
for (const k of keys) {
|
|
36
|
+
const bv = before[k];
|
|
37
|
+
const av = after[k];
|
|
38
|
+
if (bv === undefined && av !== undefined) diffs.push({ key: k, before: null, after: av });
|
|
39
|
+
else if (av === undefined && bv !== undefined) diffs.push({ key: k, before: bv, after: null });
|
|
40
|
+
else if (typeof bv === 'number' && typeof av === 'number' && bv !== av) diffs.push({ key: k, before: bv, after: av, delta: av - bv });
|
|
41
|
+
}
|
|
42
|
+
return diffs;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function collectBlocks(project) {
|
|
46
|
+
// try common locations
|
|
47
|
+
const blocks = project?.impulse?.blocks || project?.impulse?.configuration?.blocks || null;
|
|
48
|
+
return blocks || null;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function diffBlocks(beforeBlocks, afterBlocks) {
|
|
52
|
+
if (!beforeBlocks && !afterBlocks) return { changed: false, details: [] };
|
|
53
|
+
const details = [];
|
|
54
|
+
const byName = (arr) => (arr || []).reduce((m, b) => { m[b.name || b.id || JSON.stringify(b)] = b; return m; }, {});
|
|
55
|
+
const bBefore = byName(beforeBlocks || []);
|
|
56
|
+
const bAfter = byName(afterBlocks || []);
|
|
57
|
+
const keys = new Set([...Object.keys(bBefore), ...Object.keys(bAfter)]);
|
|
58
|
+
for (const k of keys) {
|
|
59
|
+
const bb = bBefore[k];
|
|
60
|
+
const ba = bAfter[k];
|
|
61
|
+
if (!bb) details.push({ name: k, type: 'added', after: ba });
|
|
62
|
+
else if (!ba) details.push({ name: k, type: 'removed', before: bb });
|
|
63
|
+
else if (JSON.stringify(bb) !== JSON.stringify(ba)) details.push({ name: k, type: 'modified', before: bb, after: ba });
|
|
64
|
+
}
|
|
65
|
+
return { changed: details.length > 0, details };
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function main() {
|
|
69
|
+
const [,, beforePath, afterPath, outPath] = process.argv;
|
|
70
|
+
if (!beforePath || !afterPath || !outPath) {
|
|
71
|
+
console.error('Usage: assess.js <before.json> <after.json> <out.json>');
|
|
72
|
+
process.exit(2);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const before = loadJson(beforePath);
|
|
76
|
+
const after = loadJson(afterPath);
|
|
77
|
+
|
|
78
|
+
const beforeMetrics = collectMetrics(before);
|
|
79
|
+
const afterMetrics = collectMetrics(after);
|
|
80
|
+
const metricDiffs = diffMetrics(beforeMetrics, afterMetrics);
|
|
81
|
+
|
|
82
|
+
const beforeBlocks = collectBlocks(before);
|
|
83
|
+
const afterBlocks = collectBlocks(after);
|
|
84
|
+
const blocksDiff = diffBlocks(beforeBlocks, afterBlocks);
|
|
85
|
+
|
|
86
|
+
const report = {
|
|
87
|
+
beforePath, afterPath,
|
|
88
|
+
collectedAt: new Date().toISOString(),
|
|
89
|
+
metricDiffs,
|
|
90
|
+
blocksDiff
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
fs.writeFileSync(outPath, JSON.stringify(report, null, 2), 'utf8');
|
|
94
|
+
console.log('Assessment written to', outPath);
|
|
95
|
+
// Also print concise human report
|
|
96
|
+
console.log('\nMetric changes:');
|
|
97
|
+
if (metricDiffs.length === 0) console.log(' No numeric metric changes found');
|
|
98
|
+
else metricDiffs.forEach(d => console.log(` ${d.key}: ${d.before} -> ${d.after} (Δ ${d.delta ?? 'n/a'})`));
|
|
99
|
+
|
|
100
|
+
console.log('\nBlock changes:');
|
|
101
|
+
if (!blocksDiff.changed) console.log(' No block-level changes detected');
|
|
102
|
+
else blocksDiff.details.forEach(d => console.log(` [${d.type}] ${d.name}`));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
main();
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'fs/promises'
|
|
3
|
+
import path from 'path'
|
|
4
|
+
|
|
5
|
+
async function loadEnv(envPath = './.env.test'){
|
|
6
|
+
try{
|
|
7
|
+
const data = await fs.readFile(envPath, 'utf8')
|
|
8
|
+
data.split(/\n/).forEach(line=>{
|
|
9
|
+
const m = line.match(/^\s*([A-Z0-9_]+)=(.*)$/)
|
|
10
|
+
if(m) process.env[m[1]] = m[2]
|
|
11
|
+
})
|
|
12
|
+
}catch(e){}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
async function main(){
|
|
16
|
+
await loadEnv()
|
|
17
|
+
|
|
18
|
+
const apiKey = process.env.EI_API_KEY
|
|
19
|
+
if(!apiKey){
|
|
20
|
+
console.error('Missing EI_API_KEY in environment or .env.test; aborting.')
|
|
21
|
+
process.exit(2)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const outDir = 'config'
|
|
25
|
+
await fs.mkdir(outDir, { recursive: true })
|
|
26
|
+
|
|
27
|
+
console.log('Fetching projects from Edge Impulse...')
|
|
28
|
+
const url = 'https://studio.edgeimpulse.com/v1/api/projects'
|
|
29
|
+
const res = await fetch(url, { headers: { 'x-api-key': apiKey, 'Content-Type': 'application/json' } })
|
|
30
|
+
const txt = await res.text()
|
|
31
|
+
if(!res.ok){
|
|
32
|
+
console.error('Edge Impulse API returned', res.status)
|
|
33
|
+
try{ console.error(JSON.parse(txt)) }catch(e){ console.error(txt) }
|
|
34
|
+
process.exit(3)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let data
|
|
38
|
+
try{ data = JSON.parse(txt) }catch(e){
|
|
39
|
+
console.error('Failed to parse response JSON')
|
|
40
|
+
console.error(txt)
|
|
41
|
+
process.exit(4)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const outPath = path.join(outDir, 'projects.json')
|
|
45
|
+
await fs.writeFile(outPath, JSON.stringify(data, null, 2), 'utf8')
|
|
46
|
+
console.log(`Wrote ${Object.keys(data).length ? 'projects object' : 'response'} to ${outPath}`)
|
|
47
|
+
|
|
48
|
+
if(Array.isArray(data.projects)){
|
|
49
|
+
console.log(`Found ${data.projects.length} projects; sample:`)
|
|
50
|
+
console.log(data.projects.slice(0,5).map(p=>({ id: p.id || p.projectId || p._id, name: p.name || p.title })).slice(0,5))
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
console.log('Configuration write complete. Inspect config/projects.json for details.')
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
main().catch(err=>{ console.error(err); process.exit(1) })
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
IMAGE=ei-agentic-claude:latest
|
|
5
|
+
CONTAINER=test-ei-mcp-$$
|
|
6
|
+
TIMEOUT=30
|
|
7
|
+
|
|
8
|
+
echo "[docker-test] Building image ${IMAGE}..."
|
|
9
|
+
docker build -t "${IMAGE}" .
|
|
10
|
+
|
|
11
|
+
echo "[docker-test] Running container ${CONTAINER}..."
|
|
12
|
+
# Pass through .env.test variables if present to support org/project API keys
|
|
13
|
+
ENV_FILE=.env.test
|
|
14
|
+
if [ -f "$ENV_FILE" ]; then
|
|
15
|
+
# load to export for docker env args
|
|
16
|
+
set -o allexport
|
|
17
|
+
source "$ENV_FILE"
|
|
18
|
+
set +o allexport
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
echo "[docker-test] Running container ${CONTAINER}..."
|
|
22
|
+
docker run --rm -d --name "${CONTAINER}" \
|
|
23
|
+
-e EI_API_KEY="${EI_API_KEY:-}" \
|
|
24
|
+
-e ORG_EI_API_KEY="${ORG_EI_API_KEY:-}" \
|
|
25
|
+
-e PROJECT_888999_ID="${PROJECT_888999_ID:-}" \
|
|
26
|
+
-e PROJECT_888996_ID="${PROJECT_888996_ID:-}" \
|
|
27
|
+
-e PROJECT_888995_ID="${PROJECT_888995_ID:-}" \
|
|
28
|
+
"${IMAGE}"
|
|
29
|
+
|
|
30
|
+
echo "[docker-test] Waiting up to ${TIMEOUT}s for server to report ready..."
|
|
31
|
+
for i in $(seq 1 ${TIMEOUT}); do
|
|
32
|
+
if docker logs "${CONTAINER}" 2>&1 | grep -q "Edge Impulse MCP server running on stdio"; then
|
|
33
|
+
echo "[docker-test] Server started successfully"
|
|
34
|
+
docker rm -f "${CONTAINER}" >/dev/null 2>&1 || true
|
|
35
|
+
exit 0
|
|
36
|
+
fi
|
|
37
|
+
sleep 1
|
|
38
|
+
done
|
|
39
|
+
|
|
40
|
+
echo "[docker-test] Server did not start within ${TIMEOUT}s"
|
|
41
|
+
docker logs "${CONTAINER}" || true
|
|
42
|
+
docker rm -f "${CONTAINER}" >/dev/null 2>&1 || true
|
|
43
|
+
exit 2
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env sh
|
|
2
|
+
# Entrypoint: load env file(s) if present, print readiness, then exec command
|
|
3
|
+
# Looks for /app/.env, /app/.env.test (in that order) and exports variables.
|
|
4
|
+
|
|
5
|
+
load_env_file(){
|
|
6
|
+
f="$1"
|
|
7
|
+
if [ -f "$f" ]; then
|
|
8
|
+
echo "Loading env from $f"
|
|
9
|
+
# shellcheck disable=SC1090
|
|
10
|
+
set -o allexport
|
|
11
|
+
# read lines and export only simple KEY=VALUE pairs
|
|
12
|
+
while IFS= read -r line || [ -n "$line" ]; do
|
|
13
|
+
case "$line" in
|
|
14
|
+
''|\#*) continue ;;
|
|
15
|
+
esac
|
|
16
|
+
if echo "$line" | grep -qE '^[A-Z0-9_]+=.*$'; then
|
|
17
|
+
k=$(echo "$line" | sed -E 's/=.*$//')
|
|
18
|
+
v=$(echo "$line" | sed -E 's/^[^=]*=//')
|
|
19
|
+
export "$k"="$v"
|
|
20
|
+
fi
|
|
21
|
+
done < "$f"
|
|
22
|
+
set +o allexport
|
|
23
|
+
fi
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
# Prefer .env.test if present for testing
|
|
27
|
+
load_env_file /app/.env.test
|
|
28
|
+
load_env_file /app/.env
|
|
29
|
+
|
|
30
|
+
printf "Edge Impulse MCP server running on stdio\n" >&1
|
|
31
|
+
exec "$@"
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = path.dirname(__filename);
|
|
8
|
+
const distCli = path.join(__dirname, '..', 'dist', 'cli.js');
|
|
9
|
+
|
|
10
|
+
if (!fs.existsSync(distCli)) {
|
|
11
|
+
console.error('dist/cli.js does not exist. Run tsc first.');
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const src = await fs.promises.readFile(distCli, 'utf8');
|
|
16
|
+
|
|
17
|
+
// Fix local ESM imports that lack .js extension
|
|
18
|
+
let out = src.replace(/from \"\.\/register-generated-commands\";/g, 'from "./register-generated-commands.js";');
|
|
19
|
+
out = out.replace(/from \"\.\/register-generated-commands\"/g, 'from "./register-generated-commands.js"');
|
|
20
|
+
|
|
21
|
+
await fs.promises.writeFile(distCli, out, 'utf8');
|
|
22
|
+
console.log('Patched dist/cli.js imports.');
|
|
23
|
+
|
|
24
|
+
// Patch generated CLI command imports to include .js extensions
|
|
25
|
+
const cliCommandsDir = path.join(__dirname, '..', 'dist', 'postman', 'edge-impulse', 'generated', 'cli-commands');
|
|
26
|
+
if (fs.existsSync(cliCommandsDir)) {
|
|
27
|
+
const files = await fs.promises.readdir(cliCommandsDir);
|
|
28
|
+
for (const f of files) {
|
|
29
|
+
if (!f.endsWith('.js')) continue;
|
|
30
|
+
const p = path.join(cliCommandsDir, f);
|
|
31
|
+
let c = await fs.promises.readFile(p, 'utf8');
|
|
32
|
+
// replace from '../some_name' or "../some_name" with ../some_name.js when .js missing
|
|
33
|
+
c = c.replace(/from\s+(['"])((?:\.\.\/)+[^'"\s]+?)\1/g, (m, quote, rel) => {
|
|
34
|
+
// only append .js when there's no extension already
|
|
35
|
+
if (/\.(js|json)$/.test(rel)) return `from ${quote}${rel}${quote}`;
|
|
36
|
+
return `from ${quote}${rel}.js${quote}`;
|
|
37
|
+
});
|
|
38
|
+
await fs.promises.writeFile(p, c, 'utf8');
|
|
39
|
+
}
|
|
40
|
+
console.log('Patched generated CLI command imports to use .js extensions.');
|
|
41
|
+
} else {
|
|
42
|
+
console.warn('CLI commands dir not found; skipping additional patches.');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Fix any accidental double-quote injection
|
|
46
|
+
const fixFiles = await fs.promises.readdir(cliCommandsDir);
|
|
47
|
+
for (const f of fixFiles) {
|
|
48
|
+
if (!f.endsWith('.js')) continue;
|
|
49
|
+
const p = path.join(cliCommandsDir, f);
|
|
50
|
+
let content = await fs.promises.readFile(p, 'utf8');
|
|
51
|
+
content = content.replace(/from\s+''\.\.\//g, "from '../");
|
|
52
|
+
content = content.replace(/from\s+\"\"\.\.\//g, 'from "../');
|
|
53
|
+
await fs.promises.writeFile(p, content, 'utf8');
|
|
54
|
+
}
|
|
55
|
+
console.log('Cleaned accidental double quotes in CLI command imports.');
|
|
56
|
+
|
|
57
|
+
// Additionally, patch any remaining relative imports across dist to include .js
|
|
58
|
+
async function patchAllRelativeImports(dir) {
|
|
59
|
+
const entries = await fs.promises.readdir(dir, { withFileTypes: true });
|
|
60
|
+
for (const ent of entries) {
|
|
61
|
+
const p = path.join(dir, ent.name);
|
|
62
|
+
if (ent.isDirectory()) {
|
|
63
|
+
await patchAllRelativeImports(p);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
if (!ent.isFile() || !p.endsWith('.js')) continue;
|
|
67
|
+
let c = await fs.promises.readFile(p, 'utf8');
|
|
68
|
+
const updated = c.replace(/from\s+(['"])((?:\.\.\/|\.\/)+[^'"\s]+?)\1/g, (m, quote, rel) => {
|
|
69
|
+
if (/\.(js|json)$/.test(rel)) return `from ${quote}${rel}${quote}`;
|
|
70
|
+
return `from ${quote}${rel}.js${quote}`;
|
|
71
|
+
});
|
|
72
|
+
if (updated !== c) await fs.promises.writeFile(p, updated, 'utf8');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
await patchAllRelativeImports(path.join(__dirname, '..', 'dist'));
|
|
77
|
+
console.log('Patched remaining relative imports across dist to include .js extensions.');
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Generate SHA256 integrity hashes for files in dist/postman/edge-impulse/generated
|
|
5
|
+
* Writes `integrity.json` into the `cli-commands` folder so the runtime integrity check can use it.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import fs from 'fs';
|
|
9
|
+
import path from 'path';
|
|
10
|
+
import crypto from 'crypto';
|
|
11
|
+
|
|
12
|
+
const GENERATED_DIR = path.join(process.cwd(), 'dist', 'postman', 'edge-impulse', 'generated');
|
|
13
|
+
const CLI_COMMANDS_DIR = path.join(GENERATED_DIR, 'cli-commands');
|
|
14
|
+
|
|
15
|
+
function calculateSHA256(filePath) {
|
|
16
|
+
const fileBuffer = fs.readFileSync(filePath);
|
|
17
|
+
const hashSum = crypto.createHash('sha256');
|
|
18
|
+
hashSum.update(fileBuffer);
|
|
19
|
+
return hashSum.digest('hex');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function generate() {
|
|
23
|
+
if (!fs.existsSync(CLI_COMMANDS_DIR)) {
|
|
24
|
+
console.error('Target generated CLI commands directory not found:', CLI_COMMANDS_DIR);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const files = fs.readdirSync(CLI_COMMANDS_DIR).filter(f => f.endsWith('.js') || f.endsWith('.ts'));
|
|
29
|
+
const hashes = {};
|
|
30
|
+
|
|
31
|
+
for (const file of files) {
|
|
32
|
+
const p = path.join(CLI_COMMANDS_DIR, file);
|
|
33
|
+
hashes[file] = calculateSHA256(p);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const out = path.join(CLI_COMMANDS_DIR, 'integrity.json');
|
|
37
|
+
fs.writeFileSync(out, JSON.stringify(hashes, null, 2));
|
|
38
|
+
console.log('Wrote integrity.json to', out);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
generate();
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
|
|
5
|
+
function loadProjectJson(filePath) {
|
|
6
|
+
try {
|
|
7
|
+
return JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
8
|
+
} catch (e) {
|
|
9
|
+
console.error('Failed to load', filePath, e.message);
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function detectImpulseType(project) {
|
|
15
|
+
// Look for common indicators in project JSON to infer impulse type
|
|
16
|
+
if (!project) return 'unknown';
|
|
17
|
+
const name = (project.name || '').toString().toLowerCase();
|
|
18
|
+
if (name.includes('anomaly')) return 'anomaly';
|
|
19
|
+
if (name.includes('object-detection') || name.includes('keras-object-detection')) return 'object-detection';
|
|
20
|
+
if (name.includes('keras')) return 'keras';
|
|
21
|
+
if (project.impulse && project.impulse.blocks) return 'impulse';
|
|
22
|
+
if (project.type) return project.type;
|
|
23
|
+
return 'unknown';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function makePrompts(projectId, projectJson) {
|
|
27
|
+
const impulseType = detectImpulseType(projectJson);
|
|
28
|
+
const base = `Project ID: ${projectId}\nSummary: ${projectJson.name || 'Unnamed project'}\n`;
|
|
29
|
+
|
|
30
|
+
// Choose prioritized goals depending on impulse type
|
|
31
|
+
let goalsOrder = ['accuracy', 'latency', 'size', 'robustness'];
|
|
32
|
+
if (impulseType === 'anomaly') {
|
|
33
|
+
goalsOrder = ['robustness', 'accuracy', 'size', 'latency'];
|
|
34
|
+
} else if (impulseType === 'object-detection' || impulseType === 'keras') {
|
|
35
|
+
goalsOrder = ['accuracy', 'size', 'latency', 'robustness'];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const goalDefs = {
|
|
39
|
+
accuracy: 'Improve accuracy on validation data while keeping training time reasonable.',
|
|
40
|
+
latency: 'Reduce inference latency on edge devices without losing more than 2% accuracy.',
|
|
41
|
+
size: 'Reduce model size for deployment to constrained devices.',
|
|
42
|
+
robustness: 'Improve robustness to noisy inputs and edge-case samples.'
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return goalsOrder.map(gk => ({
|
|
46
|
+
id: `${projectId}-${gk}`,
|
|
47
|
+
goal: gk,
|
|
48
|
+
prompt: `${base}Impulse type: ${impulseType}\nOptimization goal: ${goalDefs[gk]}\nCurrent impulse (truncated): ${JSON.stringify(projectJson.impulse || {}, null, 2).slice(0, 2000)}\n\nProvide a set of recommended block-level changes (DSP parameters, model selection, training parameters, data augmentation, and evaluation strategy) that can be applied via Edge Impulse APIs to achieve the goal. For each recommendation, include the expected trade-offs and a simple CLI invocation using this repo's CLI to apply or test the change.`
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function main() {
|
|
53
|
+
const args = process.argv.slice(2);
|
|
54
|
+
if (args.length === 0) {
|
|
55
|
+
console.error('Usage: generate-prompts.js <project-json-path> [<project-json-path> ...]');
|
|
56
|
+
process.exit(2);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
for (const p of args) {
|
|
60
|
+
const pj = loadProjectJson(p);
|
|
61
|
+
if (!pj) continue;
|
|
62
|
+
const projectId = pj.id || pj.projectId || path.basename(p).replace(/\.json$/, '');
|
|
63
|
+
const prompts = makePrompts(projectId, pj);
|
|
64
|
+
// Write one file per goal so iterative testing can be targeted
|
|
65
|
+
for (const pr of prompts) {
|
|
66
|
+
const out = `/tmp/prompts-${projectId}-${pr.goal}.json`;
|
|
67
|
+
// Add an example 'apply_cli' suggestion depending on goal
|
|
68
|
+
pr.apply_cli = (() => {
|
|
69
|
+
switch (pr.goal) {
|
|
70
|
+
case 'accuracy':
|
|
71
|
+
return `node dist/cli.js train-model-keras --api-key $EI_API_KEY --params '{"projectId":"${projectId}","learnId":<learnId>,"epochs":20}'`;
|
|
72
|
+
case 'latency':
|
|
73
|
+
return `node dist/cli.js optimize-model --api-key $EI_API_KEY --params '{"projectId":"${projectId}","versionId":<versionId>,"target":"tflite"}'`;
|
|
74
|
+
case 'size':
|
|
75
|
+
return `node dist/cli.js build-on-device-model --api-key $EI_API_KEY --params '{"projectId":"${projectId}","target":"npu"}'`;
|
|
76
|
+
case 'robustness':
|
|
77
|
+
return `node dist/cli.js generate-data-explorer-features --api-key $EI_API_KEY --params '{"projectId":"${projectId}"}'`;
|
|
78
|
+
default:
|
|
79
|
+
return '';
|
|
80
|
+
}
|
|
81
|
+
})();
|
|
82
|
+
|
|
83
|
+
fs.writeFileSync(out, JSON.stringify(pr, null, 2), 'utf8');
|
|
84
|
+
console.log('Wrote', out);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
main();
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const __dirname = path.dirname(__filename);
|
|
9
|
+
|
|
10
|
+
function listAllAPIs() {
|
|
11
|
+
const apiDir = path.resolve(__dirname, '../src/postman/edge-impulse/generated');
|
|
12
|
+
|
|
13
|
+
if (!fs.existsSync(apiDir)) {
|
|
14
|
+
console.error('API directory not found');
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const apiFiles = fs.readdirSync(apiDir)
|
|
19
|
+
.filter(f => f.endsWith('.ts') && !f.includes('cli-commands'))
|
|
20
|
+
.map(f => f.replace('.ts', ''))
|
|
21
|
+
.sort();
|
|
22
|
+
|
|
23
|
+
console.log(`Total APIs: ${apiFiles.length}\n`);
|
|
24
|
+
|
|
25
|
+
// Group by category
|
|
26
|
+
const categories = {
|
|
27
|
+
projects: apiFiles.filter(f => f.includes('project')),
|
|
28
|
+
users: apiFiles.filter(f => f.includes('user')),
|
|
29
|
+
jobs: apiFiles.filter(f => f.includes('job')),
|
|
30
|
+
training: apiFiles.filter(f => f.includes('train') || f.includes('keras') || f.includes('optimize') || f.includes('retrain')),
|
|
31
|
+
data: apiFiles.filter(f => f.includes('data') || f.includes('sample') || f.includes('dataset')),
|
|
32
|
+
organizations: apiFiles.filter(f => f.includes('organization')),
|
|
33
|
+
deployments: apiFiles.filter(f => f.includes('deploy')),
|
|
34
|
+
dsp: apiFiles.filter(f => f.includes('dsp')),
|
|
35
|
+
evaluation: apiFiles.filter(f => f.includes('evaluate')),
|
|
36
|
+
files: apiFiles.filter(f => f.includes('file') || f.includes('upload') || f.includes('download')),
|
|
37
|
+
admin: apiFiles.filter(f => f.includes('admin') || f.includes('white_label') || f.includes('theme')),
|
|
38
|
+
auth: apiFiles.filter(f => f.includes('auth') || f.includes('login') || f.includes('token')),
|
|
39
|
+
models: apiFiles.filter(f => f.includes('model') || f.includes('impulse')),
|
|
40
|
+
devices: apiFiles.filter(f => f.includes('device')),
|
|
41
|
+
pipelines: apiFiles.filter(f => f.includes('pipeline')),
|
|
42
|
+
notifications: apiFiles.filter(f => f.includes('notification') || f.includes('email')),
|
|
43
|
+
metrics: apiFiles.filter(f => f.includes('metric')),
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
// Add uncategorized to 'other'
|
|
47
|
+
const categorized = Object.values(categories).flat();
|
|
48
|
+
categories.other = apiFiles.filter(api => !categorized.includes(api));
|
|
49
|
+
|
|
50
|
+
for (const [category, apis] of Object.entries(categories)) {
|
|
51
|
+
if (apis.length > 0) {
|
|
52
|
+
console.log(`${category.toUpperCase()} (${apis.length}):`);
|
|
53
|
+
apis.forEach(api => console.log(` - ${api}`));
|
|
54
|
+
console.log('');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
listAllAPIs();
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'fs/promises'
|
|
3
|
+
import path from 'path'
|
|
4
|
+
|
|
5
|
+
const OUTDIR = 'outputs/llm-sim-integration'
|
|
6
|
+
const SNAP_DIR = path.join(OUTDIR, 'snapshots')
|
|
7
|
+
const ADJ_DIR = path.join(OUTDIR, 'adjusted')
|
|
8
|
+
const APPLY_DIR = path.join(OUTDIR, 'apply-scripts')
|
|
9
|
+
const RESULTS_FILE = path.join(OUTDIR, 'results.json')
|
|
10
|
+
|
|
11
|
+
function seedFromString(s){
|
|
12
|
+
let h=0; for(let i=0;i<s.length;i++) h = (h*31 + s.charCodeAt(i)) >>> 0; return h
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function deterministicBaseline(projectId){
|
|
16
|
+
const seed = seedFromString(projectId)
|
|
17
|
+
return 0.65 + (seed % 200)/1000 // 0.65 - 0.85
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
async function ensure(){
|
|
21
|
+
await fs.mkdir(SNAP_DIR, { recursive: true })
|
|
22
|
+
await fs.mkdir(ADJ_DIR, { recursive: true })
|
|
23
|
+
await fs.mkdir(APPLY_DIR, { recursive: true })
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async function main(){
|
|
27
|
+
await ensure()
|
|
28
|
+
|
|
29
|
+
// gather project IDs from local sources: config/projects.json, outputs/assessments, or /tmp prompts
|
|
30
|
+
let projectIds = new Set()
|
|
31
|
+
|
|
32
|
+
// 1) config/projects.json (if present)
|
|
33
|
+
try{
|
|
34
|
+
const cfg = JSON.parse(await fs.readFile('config/projects.json','utf8'))
|
|
35
|
+
if(Array.isArray(cfg.projects)) cfg.projects.forEach(p=>p.id && projectIds.add(p.id))
|
|
36
|
+
else if(Array.isArray(cfg)) cfg.forEach(p=>p.id && projectIds.add(p.id))
|
|
37
|
+
}catch(e){}
|
|
38
|
+
|
|
39
|
+
// 2) outputs/assessments folder names (pattern: ei_<id>_timestamp)
|
|
40
|
+
try{
|
|
41
|
+
const asses = await fs.readdir('outputs/assessments')
|
|
42
|
+
for(const name of asses){
|
|
43
|
+
const m = name.match(/^(ei_[a-f0-9]+)|^(\w+)/)
|
|
44
|
+
if(m){ projectIds.add(m[1] || m[2]) }
|
|
45
|
+
}
|
|
46
|
+
}catch(e){}
|
|
47
|
+
|
|
48
|
+
// 3) /tmp prompts
|
|
49
|
+
try{
|
|
50
|
+
const files = (await fs.readdir('/tmp')).filter(f=>f.startsWith('prompts-') && f.endsWith('.json'))
|
|
51
|
+
for(const f of files){ const m = f.match(/^prompts-(.+?)-/) || []; if(m[1]) projectIds.add(m[1]) }
|
|
52
|
+
}catch(e){}
|
|
53
|
+
|
|
54
|
+
if(projectIds.size===0){
|
|
55
|
+
console.error('No local projects found (checked config/projects.json, outputs/assessments, and /tmp).')
|
|
56
|
+
process.exit(1)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const results = []
|
|
60
|
+
|
|
61
|
+
for(const projectId of Array.from(projectIds)){
|
|
62
|
+
try{
|
|
63
|
+
// snapshot current settings (simulation)
|
|
64
|
+
const snapshot = { projectId, timestamp: new Date().toISOString(), settings: { keras: { trainingCycles: 20, learningRate: 0.01 } } }
|
|
65
|
+
const snapPath = path.join(SNAP_DIR, projectId + '.json')
|
|
66
|
+
await fs.writeFile(snapPath, JSON.stringify(snapshot, null, 2), 'utf8')
|
|
67
|
+
|
|
68
|
+
// create adjusted settings (small change)
|
|
69
|
+
const adjusted = JSON.parse(JSON.stringify(snapshot))
|
|
70
|
+
adjusted.timestamp = new Date().toISOString()
|
|
71
|
+
adjusted.settings.keras.trainingCycles = snapshot.settings.keras.trainingCycles + 10
|
|
72
|
+
adjusted.settings.keras.learningRate = +(snapshot.settings.keras.learningRate * 0.5).toFixed(6)
|
|
73
|
+
const adjPath = path.join(ADJ_DIR, projectId + '.json')
|
|
74
|
+
await fs.writeFile(adjPath, JSON.stringify(adjusted, null, 2), 'utf8')
|
|
75
|
+
|
|
76
|
+
// write an apply script that would perform the change
|
|
77
|
+
const applyScript = `#!/usr/bin/env bash
|
|
78
|
+
set -euo pipefail
|
|
79
|
+
echo "[SIM] Applying adjusted settings for project ${projectId}"
|
|
80
|
+
echo "Would set trainingCycles=${adjusted.settings.keras.trainingCycles} learningRate=${adjusted.settings.keras.learningRate}"
|
|
81
|
+
`
|
|
82
|
+
const applyPath = path.join(APPLY_DIR, projectId + '.sh')
|
|
83
|
+
await fs.writeFile(applyPath, applyScript, 'utf8')
|
|
84
|
+
await fs.chmod(applyPath, 0o750)
|
|
85
|
+
|
|
86
|
+
// simulate running a test/training and record metrics (deterministic)
|
|
87
|
+
const baseline = +deterministicBaseline(projectId).toFixed(4)
|
|
88
|
+
// improvement depends on change magnitude; small deterministic delta
|
|
89
|
+
const delta = 0.01 + ((seedFromString(projectId) % 20)/1000)
|
|
90
|
+
const newAcc = +(Math.min(0.9999, baseline + delta)).toFixed(4)
|
|
91
|
+
|
|
92
|
+
const record = {
|
|
93
|
+
projectId,
|
|
94
|
+
snapshot: snapPath,
|
|
95
|
+
adjusted: adjPath,
|
|
96
|
+
applyScript: applyPath,
|
|
97
|
+
metrics: {
|
|
98
|
+
before: { accuracy: baseline },
|
|
99
|
+
after: { accuracy: newAcc },
|
|
100
|
+
},
|
|
101
|
+
timestamp: new Date().toISOString()
|
|
102
|
+
}
|
|
103
|
+
results.push(record)
|
|
104
|
+
|
|
105
|
+
// restore (in simulation, just copy snapshot to restored file)
|
|
106
|
+
const restoredPath = path.join(OUTDIR, 'restored', projectId + '.json')
|
|
107
|
+
await fs.mkdir(path.dirname(restoredPath), { recursive: true })
|
|
108
|
+
await fs.writeFile(restoredPath, JSON.stringify(snapshot, null, 2), 'utf8')
|
|
109
|
+
|
|
110
|
+
console.log(`Project ${projectId}: baseline=${baseline} -> after=${newAcc}`)
|
|
111
|
+
}catch(err){
|
|
112
|
+
console.error('Error for project', projectId, err)
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
await fs.writeFile(RESULTS_FILE, JSON.stringify(results, null, 2), 'utf8')
|
|
117
|
+
console.log('Integration simulation complete. Results:', RESULTS_FILE)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
main().catch(err=>{ console.error(err); process.exit(1) })
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'fs/promises'
|
|
3
|
+
import path from 'path'
|
|
4
|
+
|
|
5
|
+
const OUTDIR = 'outputs/llm-responses'
|
|
6
|
+
const APPLY_DIR = 'outputs/apply-commands'
|
|
7
|
+
|
|
8
|
+
async function main(){
|
|
9
|
+
await fs.mkdir(OUTDIR, { recursive: true })
|
|
10
|
+
await fs.mkdir(APPLY_DIR, { recursive: true })
|
|
11
|
+
|
|
12
|
+
const files = (await fs.readdir('/tmp')).filter(f=>f.startsWith('prompts-') && f.endsWith('.json'))
|
|
13
|
+
if(files.length===0){
|
|
14
|
+
console.error('No prompt files found in /tmp to simulate')
|
|
15
|
+
process.exit(1)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
for(const f of files){
|
|
19
|
+
try{
|
|
20
|
+
const p = path.join('/tmp', f)
|
|
21
|
+
const content = await fs.readFile(p, 'utf8')
|
|
22
|
+
let parsed
|
|
23
|
+
try{ parsed = JSON.parse(content) }catch(e){ parsed = {prompt: content} }
|
|
24
|
+
|
|
25
|
+
// derive projectId from filename: prompts-<projectId>-<goal>.json
|
|
26
|
+
const m = f.match(/^prompts-(.+?)-/) || []
|
|
27
|
+
const projectId = m[1] || 'unknown'
|
|
28
|
+
|
|
29
|
+
const simulated = {
|
|
30
|
+
simulated: true,
|
|
31
|
+
projectId,
|
|
32
|
+
promptSnippet: (parsed.prompt||'').slice(0,200),
|
|
33
|
+
recommendation: 'Adjust Keras block parameters to increase trainingCycles and reduce learningRate',
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const completionText = `SIMULATED LLM RESPONSE\nRecommendation: ${simulated.recommendation}\n\napply_cli: \`npm run cli -- train-model-keras --api-key $EI_API_KEY --params '{"projectId":"${projectId}","learnId":"<learnId>","trainingCycles":50,"learningRate":0.005}'\`\n`
|
|
37
|
+
|
|
38
|
+
const outPath = path.join(OUTDIR, f + '.response.txt')
|
|
39
|
+
await fs.writeFile(outPath, completionText, 'utf8')
|
|
40
|
+
|
|
41
|
+
const applyPath = path.join(APPLY_DIR, f + '.sh')
|
|
42
|
+
const script = '#!/usr/bin/env bash\nset -euo pipefail\n\n# Simulated apply script from LLM\n' + `echo "Would run: npm run cli -- train-model-keras --api-key $EI_API_KEY --params '{\\"projectId\\":\\"${projectId}\\",\\"learnId\\":\\"<learnId>\\",\\"trainingCycles\\":50,\\"learningRate\\":0.005}'"\n`
|
|
43
|
+
await fs.writeFile(applyPath, script, 'utf8')
|
|
44
|
+
await fs.chmod(applyPath, 0o750)
|
|
45
|
+
|
|
46
|
+
console.log('Simulated response saved to', outPath)
|
|
47
|
+
console.log('Simulated apply script saved to', applyPath)
|
|
48
|
+
}catch(err){
|
|
49
|
+
console.error('Error simulating for', f, err)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
main().catch(err=>{ console.error(err); process.exit(1) })
|